kamera vizörü
Bu tabloda, androidx.camera-viewfinder
grubundaki tüm yapılar listelenir.
Yapı | Kararlı sürüm | Sürüm Adayı | Beta Sürümü | Alfa sürümü |
---|---|---|---|---|
viewfinder-compose | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
viewfinder-core | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
vizör görünümü | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
Bağımlılıkları bildirme
camera-viewfinder bağımlılığı eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle
dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Groovy
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.5
Sürüm 1.5.0-beta03
16 Temmuz 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03
ve androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03
yayınlandı. 1.5.0-beta03 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
Viewfinder
için varsayılanImplementationMode
(hem Oluşturma hem de Görüntüleme tabanlı) artıkEXTERNAL
(performans için) veEMBEDDED
(eski API'lerde/tuhaf cihazlarda uyumluluk için) arasında akıllıca seçim yapıyor. Bu davranış,ViewfinderSurfaceRequest
veya XML özelliklerindeki (görüntülemeye dayalı API'de) açık ayarlar tarafından geçersiz kılınabilir. (Iecd3a)- API 29 ve sonraki sürümlerde TextureView veya SurfaceView kullanılırken
ViewfinderSurfaceSession
öğesinin yüzey oluşturma/yok etme yaşam döngüleri boyunca etkin tutulmasına izin vererek Surface oturum yönetimi iyileştirildi. (I112d9) Viewfinder
artık, Surfaces'ın her zaman Composable atıldığında değil, yalnızca oturum tarafından kullanılmadığında uygun zamanda yayınlanmasını sağlıyor.EXTERNAL
(SurfaceView
) için bu davranış şu anda yalnızca API 29 ve sonraki sürümlerde kullanılabilir.EMBEDDED
(TextureView
) için bu davranış tüm API düzeylerinde mevcuttur. (I9a03f)Viewfinder
artık API düzeyi 28 veya daha düşük birEXTERNAL
vizörünün ekranın dışına çıkması ya damoveableContentOf()
'ün bir parçası olan birViewfinder
(herhangi birImplementationMode
ile) gibi senaryolarda yüzey değiştirme işlemini düzgün şekilde gerçekleştiriyor. (I79432)- Composable
Viewfinder
artık Compose'unPager
ile doğru şekilde çalışıyor. Bu değişiklik, hemEMBEDDED
hem deEXTERNAL
uygulamalarını destekleyenAndroidView
öğesininonReset
geri çağırması uygulanarak Composable'ın başarıyla sıfırlanmasını sağlar. (I0d9be) - Android 10/11'de, dönüşüm işlemleri (ör. ölçeklendirme veya çevirme) çok erken uygulandığı için
EXTERNAL
Viewfinder
simgesinin gergin veya yanlış görünmesine neden olan sorun düzeltildi. Sistem artık düzen aşamasında bu dönüşümleri uygulamadan önce Surface'in oluşturulmasını bekleyerek doğru çıkış sağlar. (Icc77c)
Sürüm 1.5.0-beta02
4 Haziran 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02
ve androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02
yayınlandı. 1.5.0-beta02 sürümü bu commit'leri içerir.
Sürüm 1.5.0-beta01
7 Mayıs 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01
ve androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01
yayınlandı. 1.5.0-beta01 sürümü bu commit'leri içerir.
- Bu, Camera2 ile kullanılabilecek kadar esnek olan, görünüme dayalı ve oluşturmaya dayalı vizörlerin ilk resmi beta sürümüdür. CameraX ile kullanmak için bir View veya composable arıyorsanız
PreviewView
veCameraXViewfinder
sayfalarına bakın.
Yeni Özellikler
ContentScale
veAlignment
artıkandroidx.compose.foundation.Image
'ın davranışına benzer şekilde, görüntülenen yüzeyi kapsayıcısı içinde ölçeklendirmek ve yerleştirmek için beste tabanlı vizörde kullanılabilir. (Ibcea3)
API Değişiklikleri
TransformationInfo
artık tüm bağımsız değişkenler için varsayılan değerlere sahip. Bu sayede,TransformationInfo
olmadan Viewfinder'lar oluşturulabilir. Bu Viewfinder'lar varsayılan olarak 0 kaynak döndürme, kaynak yansıtma ve kırpma dikdörtgeni içermez. (I2b1b2)- Composable Viewfinder artık
AndroidExternalSurface
'ya benzer şekilde bir Surface oturumu almak için sondaki bir lambda'yı kullanıyor. Sağlanan lambda, alıcı olarakViewfinderInitScope
kullanır. Bu, yeni Surface oturumlarını almak için geri çağırma yüklemeye olanak tanır. Bu yüzey oturumları, kapsam dışına çıktıklarında Vizör tarafından tutulan kaynakları otomatik olarak serbest bırakır. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
artık kaldırıldı veTransformationInfo
oluşturmak için kullanılabilecek eşdeğer bir statik API grubuyla değiştirildi. Bu API grubu,populateFromCharacteristics
ile aynı dönüşümü üretir. Bu statik yöntemlerCamera2TransformationInfo
sınıfına eklenir. (Idc6af)ViewfinderSurfaceRequest
artık yüzeyi almak için eşzamansız API'ler içermiyor. Artık değişmez bir veri türüdür. Yüzeyi almak için kullanılan API'ler artık vizöre taşındı. (I30127)CameraViewfinder
, adlandırmanın Viewfinder composable'ın adlandırmasıyla uyumlu olması ve yalnızca kamera kaynaklarıyla değil, daha fazla kaynakla kullanılabileceğini belirtmek içinViewfinderView
olarak yeniden adlandırıldı. (Id9e6b)viewfinder-view
paketindeki sınıflar,androidx.camera.viewfinder
paketindenandroidx.camera.viewfinder.view
alt paketine taşındı. (I6cb44)- Görüntülemeye dayalı Viewfinder'a, kaynak döndürme, yansıtma ve kırpma dikdörtgeninin ayarlanmasına olanak tanıyan yeni API'ler eklendi. Bu
TransformationInfo
sınıfı, oluşturma tabanlı Viewfinder tarafından kullanılan sınıfla aynıdır. (I907c3) - Görünüme dayalı Viewfinder artık Surface yanıtını dahili olarak işlemeyen yeni
ViewfinderSurfaceRequest
API'lerini kullanıyor.ListenableFuture<Surface>
döndürmek yerine,requestSurfaceSession()
API'leri artıkListenableFuture<ViewfinderSurfaceSession>
döndürüyor. Bu da kapatıldığındaViewfinderSurfaceRequest.markSurfaceSafeToRelease()
eski API'sini çağırmakla aynı şekilde davranan birAutoCloseable
sınıfı döndürüyor. Bu, yüzey isteği ile yüzey yanıtı arasındaki sorumlulukların daha net bir şekilde ayrılmasını sağlar. (I19041)
Sürüm 1.4
Sürüm 1.4.0-alpha13
26 Şubat 2025
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13
ve androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13
yayınlandı. 1.4.0-alpha13 sürümü bu commit'leri içerir.
Sürüm 1.4.0-alpha12
15 Ocak 2025
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12
ve androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12
yayınlandı. 1.4.0-alpha12 sürümü bu commit'leri içerir.
Yeni Özellikler
- Android 15 ile ilgili API'yi kullanmak için
compileSdk
, 35 olarak yükseltildi. CameraX kitaplıklarını kullanan uygulamalarıncompileSdk
yapılandırma ayarlarını da yükseltmesi gerekir. (Ic80cd) - Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için aşağıdaki derleyici bağımsız değişkenini kullanmalıdır:
-Xjspecify-annotations=strict
(bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir). (I7bcd7, b/326456246)
Sürüm 1.4.0-alpha11
11 Aralık 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11
ve androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11
yayınlandı. 1.4.0-alpha11 sürümü bu commit'leri içerir.
API Değişiklikleri
viewfinder-core
sınıfları, ait oldukları kitaplıkla tutarlı paketlere taşındı. (I431c6)CameraViewfinder.ScaleType
, oluşturma ile yeniden kullanılabilmesi içinviewfinder-core
'e taşındı (I87ef1)- Artık kullanılmayan
CameraViewfinder
sınıfları kaldırılır. Lütfen eşdeğer işlevler sağlayan yeni API'leri kullanın. (I6e59a)
Sürüm 1.4.0-alpha10
30 Ekim 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10
ve androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10
yayınlandı. 1.4.0-alpha10 sürümü bu commit'leri içerir.
Sürüm 1.4.0-alpha09
2 Ekim 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09
ve androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09
yayınlandı. 1.4.0-alpha09 sürümü bu commit'leri içerir.
Sürüm 1.4.0-alpha08
4 Eylül 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08
ve androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08
yayınlandı. 1.4.0-alpha08 sürümü şu commit'leri içerir.
Yeni Özellikler
1.4.0-alpha08 sürümüne yapılan güncellemeyle birlikte CameraX Viewfinder yapısı kendi kitaplık grubuna taşındı. Bu değişiklik, CameraX kitaplığının modülerliğini ve sürdürülebilirliğini artırmak için gereklidir.
Daha önce androidx.camera:camera-viewfinder
, androidx.camera:camera-viewfinder-compose
veya androidx.camera:camera-viewfinder-core
'ye bağlıysanız bağımlılıklarınızı aşağıdakilere geçirmeniz gerekir:
androidx.camera:camera-viewfinder
->androidx.camera.viewfinder:viewfinder-view
androidx.camera:camera-viewfinder-compose
->androidx.camera.viewfinder:viewfinder-compose
androidx.camera:camera-viewfinder-core
->androidx.camera.viewfinder:viewfinder-core
Bu geçişi yapmak için kod değişikliği yapılması gerekmez. Eski Viewfinder Maven koordinatları artık güncelleme almayacak.
Ayrıca, CameraX ile Compose kullanıyorsanız artık alfa sürümünde yeni bir Compose-first kitaplığı mevcut: androidx.camera:camera-compose
. Bu, CameraXViewfinder
composable'ını sağlar. Bu composable, PreviewView
'ın görünümler için çalışma şekline benzer şekilde, CameraX'in SurfaceRequest
composable'ını Compose'a uyarlayan, Compose'a özgü bir Viewfinder'dır.