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.1 | - | - | 1.6.0-alpha01 |
| viewfinder-core | 1.5.1 | - | - | 1.6.0-alpha01 |
| vizör görünümü | 1.5.1 | - | - | 1.6.0-alpha01 |
Bağımlılıkları bildirme
camera-viewfinder'a bağımlılık 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.6.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01") }
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 varsa 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.6
Sürüm 1.6.0-alpha01
22 Ekim 2025
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 ve androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 özellikleri kullanıma sunulur. 1.6.0-alpha01 sürümü bu commit'leri içerir.
API Değişiklikleri
- Yeni
ViewfinderDefaults.implementationModeherkese açık API aracılığıyla varsayılan vizörüImplementationModekullanıma sundu. Bu artık hemViewfinderViewhem deViewfindercomposable'ı için varsayılan olarak kullanılmaktadır. (Ic3f52)
Sürüm 1.5
Sürüm 1.5.1
8 Ekim 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1 ve androidx.camera.viewfinder:viewfinder-view:1.5.1 özellikleri kullanıma sunulur. 1.5.1 sürümü şu commit'leri içerir.
Sürüm 1.5.0
10 Eylül 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0 ve androidx.camera.viewfinder:viewfinder-view:1.5.0 özellikleri kullanıma sunulur. 1.5.0 sürümü bu commit'leri içerir.
1.4.0 sürümünden beri yapılan önemli değişiklikler:
Bu, Kamera Vizörü kitaplığının ilk kararlı sürümüdür. Bu sürüm, sağlam, yaşam döngüsüne duyarlı ve kullanımı kolay View ve Compose tabanlı API'ler sunar. Bu bileşenler, kamera vizörü olarak kullanılmak üzere tasarlanmıştır ve doğrudan Camera2 ile entegre edilebilir.
Bu sürüm, androidx.camera:camera-compose yapay nesnesi için de temel oluşturur. Bu yapay nesne, CameraXViewfinder adlı yeni bir öğeyi kullanıma sunar. Bu öğe, PreviewView'ün View tabanlı düzenlerdeki işleyişine benzer şekilde, CameraX SurfaceRequest ile sorunsuz bir şekilde entegre olan, Compose'a özgü bir vizördür. En önemli değişikliklerden bazıları şunlardır:
- Yapılandırma Taşıma: Modülerliği artırmak için Vizör yapılandırmaları kendi kitaplık grubuna taşındı. Daha önce
androidx.camera:camera-viewfinder*bağımlılıklarını kullanan geliştiricilerandroidx.camera.viewfinder:viewfinder-*'ye geçmelidir. - API Kararlılığı ve İyileştirmeler: API yüzeyi, bu kararlı sürüm için iyileştirildi. Bu kapsamda, çok yönlülüğünü daha iyi yansıtması için
CameraViewfinder'nınViewfinderViewolarak yeniden adlandırılması, paketlerin daha anlaşılır şekilde yeniden düzenlenmesi ve daha öngörülebilir durum yönetimi içinViewfinderSurfaceRequest'nin değişmez bir veri türü haline getirilmesi yer alıyor. - Compose API Güncellemeleri: Compose
ViewfinderAPI artık kamera akışının kapsayıcısında nasıl görüntülendiği üzerinde ayrıntılı kontrol içinContentScaleveAlignmentözelliklerini destekliyor. Bu özellikler, standartandroidx.compose.foundation.Imagecomposable'ın davranışını yansıtıyor. - Surface Lifecycle Management:
ViewfinderSurfaceSessionartık API 29 ve sonraki sürümlerde yapılandırma değişiklikleri ve yaşam döngüsü etkinlikleri boyunca etkin tutuluyor. Bu değişiklik, bırakılan kare sayısını azaltmak ve daha sorunsuz bir kullanıcı deneyimi sunmak için tasarlandı. - Varsayılan Uygulama Modları:
Viewfinderartık varsayılan olarak, en iyi temel uygulamayı otomatik olarak seçen akıllı birImplementationMode'dır. Yüksek performanslıSurfaceView(EXTERNALmodu) önceliklendirilir ve eski API düzeylerinde veya uyumluluk sorunları olduğu bilinen cihazlarda daha uyumlu olanTextureView(EMBEDDEDmodu) sorunsuz bir şekilde kullanılır. Geliştiricinin tam kontrolü için bu davranış geçersiz kılınabilir.
Hata Düzeltmeleri
- Birleştirilebilir
Viewfinderartık Compose'unPageriçinde vemovableContentOf()ile doğru şekilde çalışıyor. Böylece, yüzeyin karmaşık kullanıcı arayüzü senaryolarında düzgün şekilde sıfırlanması ve yönetilmesi sağlanıyor. (I0d9be, I79432) - Android 10 ve 11'de, dönüşümler uygulandığında
SurfaceViewtabanlıViewfinder'nin gerilmiş görünmesine neden olan sorun düzeltildi. (Icc77c)
Sürüm 1.5.0-rc01
13 Ağustos 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 ve androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 özellikleri kullanıma sunulur. 1.5.0-rc01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Varsayılan
minSdk'nın API 21'den API 23'e taşınması (Ibdfca, b/380448311, b/435705964, b/435705223)
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 özellikleri kullanıma sunulur. 1.5.0-beta03 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
Viewfinderiç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ış,ViewfinderSurfaceRequestveya 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) Viewfinderartı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 birEXTERNALvizörünün ekranın dışına çıkması ya daViewfinder'nın (herhangi birImplementationModeile)moveableContentOf()'ün parçası olması gibi senaryolarda yüzey değiştirme işlemini düzgün şekilde gerçekleştiriyor. (I79432)- Composable
Viewfinderartık Compose'unPagerile doğru şekilde çalışıyor. Bu değişiklik, hemEMBEDDEDhem deEXTERNALuygulamalarını destekleyerekAndroidViewöğesininonResetgeri ç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
EXTERNALViewfinderöğesinin gergin veya yanlış görünmesine neden olan sorun düzeltildi. Sistem artık bu dönüşümleri düzen aşamasında uygulamadan önce yüzeyin 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 özellikleri kullanıma sunulur. 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 özellikleri kullanıma sunulur. 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
PreviewViewveCameraXViewfindersayfalarına bakın.
Yeni Özellikler
ContentScaleveAlignmentartı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
TransformationInfoartık tüm bağımsız değişkenler için varsayılan değerlere sahip. Bu sayede,TransformationInfoolmadan 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ı olarakViewfinderInitScopekullanı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.populateFromCharacteristicsartık kaldırıldı veTransformationInfooluşturmak için kullanılabilecek eşdeğer bir statik API grubuyla değiştirildi. Bu API grubu,populateFromCharacteristicsile aynı dönüşümü üretir. Bu statik yöntemlerCamera2TransformationInfosınıfına eklenir. (Idc6af)ViewfinderSurfaceRequestartı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 alma API'leri 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çinViewfinderViewolarak yeniden adlandırıldı. (Id9e6b)viewfinder-viewpaketindeki sınıflar,androidx.camera.viewfinderpaketindenandroidx.camera.viewfinder.viewalt 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
TransformationInfosınıfı, oluşturma tabanlı Viewfinder tarafından kullanılan sınıfla aynıdır. (I907c3) - Görünüme dayalı Vizör artık yeni
ViewfinderSurfaceRequestAPI'lerini kullanıyor. Bu API'ler, Surface yanıtını artık dahili olarak işlemez.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 birAutoCloseablesı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 özellikleri kullanıma sunulur. 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 özellikleri kullanıma sunulur. 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ıncompileSdkyapı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 özellikleri kullanıma sunulur. 1.4.0-alpha11 sürümü şu commit'leri içerir.
API Değişiklikleri
viewfinder-coresı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
CameraViewfindersı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 özellikleri kullanıma sunulur. 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 özellikleri kullanıma sunulur. 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 özellikleri kullanıma sunulur. 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-viewandroidx.camera:camera-viewfinder-compose->androidx.camera.viewfinder:viewfinder-composeandroidx.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.