kamera vizörü

  
Kamera için bağımsız Composable ve View tabanlı 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
Bu kitaplık en son şu tarihte güncellenmiştir: 16 Temmuz 2025

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.

Yeni sorun oluşturma

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ılan ImplementationMode (hem Oluşturma hem de Görüntüleme tabanlı) artık EXTERNAL (performans için) ve EMBEDDED (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 bir EXTERNAL vizörünün ekranın dışına çıkması ya da moveableContentOf()'ün bir parçası olan bir Viewfinder (herhangi bir ImplementationMode ile) gibi senaryolarda yüzey değiştirme işlemini düzgün şekilde gerçekleştiriyor. (I79432)
  • Composable Viewfinder artık Compose'un Pager ile doğru şekilde çalışıyor. Bu değişiklik, hem EMBEDDED hem de EXTERNAL uygulamalarını destekleyen AndroidView öğesinin onReset 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 ve CameraXViewfinder sayfalarına bakın.

Yeni Özellikler

  • ContentScale ve Alignment artık androidx.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ı olarak ViewfinderInitScope 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ı ve TransformationInfo 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öntemler Camera2TransformationInfo 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çin ViewfinderView olarak yeniden adlandırıldı. (Id9e6b)
  • viewfinder-view paketindeki sınıflar, androidx.camera.viewfinder paketinden androidx.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ık ListenableFuture<ViewfinderSurfaceSession> döndürüyor. Bu da kapatıldığında ViewfinderSurfaceRequest.markSurfaceSafeToRelease() eski API'sini çağırmakla aynı şekilde davranan bir AutoCloseable 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ın compileSdk 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çin viewfinder-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.