jendela bidik kamera

  
Jendela Bidik berbasis Composable dan View Mandiri untuk Kamera"

Tabel ini mencantumkan semua artefak dalam grup androidx.camera-viewfinder.

Artefak Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
viewfinder-compose - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-core - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-view - - 1.5.0-beta01 1.4.0-alpha13
Library ini terakhir diperbarui pada: 7 Mei 2025

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada camera-viewfinder, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

dependencies {
    // Use to implement camera viewfinders
    
    implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01"
    implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01"
    implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01"

}

Kotlin

dependencies {
    // Use to implement camera viewfinders
    implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01")
    implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01")
    implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01")


}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.5

Versi 1.5.0-beta01

7 Mei 2025

androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01, dan androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01 dirilis. Versi 1.5.0-beta01 berisi commit ini.

  • Ini adalah rilis beta resmi pertama jendela bidik berbasis tampilan dan berbasis compose yang cukup fleksibel untuk digunakan dengan Camera2. Jika Anda mencari View atau composable untuk digunakan dengan CameraX, lihat PreviewView dan CameraXViewfinder.

Fitur Baru

  • ContentScale dan Alignment kini dapat digunakan di jendela bidik berbasis compose untuk menskalakan dan menempatkan platform yang ditampilkan dalam penampung, mirip dengan perilaku androidx.compose.foundation.Image. (Ibcea3)

Perubahan API

  • TransformationInfo kini memiliki nilai default untuk semua argumen. Hal ini akan memungkinkan Viewfinder dibuat tanpa TransformationInfo, yang akan ditetapkan secara default ke rotasi sumber 0, tanpa pencerminan sumber, dan tanpa pemangkasan persegi panjang. (I2b1b2)
  • Viewfinder Composable kini menggunakan lambda akhir untuk menerima sesi Platform, mirip dengan AndroidExternalSurface. Lambda yang disediakan menggunakan ViewfinderInitScope sebagai penerima, yang memungkinkan penginstalan callback untuk menerima sesi Surface baru. Sesi platform ini otomatis melepaskan resource yang disimpan oleh Viewfinder saat keluar dari cakupan. (Ib2b0d)
  • ViewfinderSurfaceRequest.Builder.populateFromCharacteristics kini telah dihapus dan diganti dengan kumpulan API statis yang setara yang dapat digunakan untuk membuat TransformationInfo yang akan menghasilkan transformasi yang sama dengan populateFromCharacteristics. Metode statis ini ditambahkan ke class Camera2TransformationInfo. (Idc6af)
  • ViewfinderSurfaceRequest tidak lagi menyertakan API asinkron untuk mengambil platform. Sekarang, jenis data ini tidak dapat diubah. API untuk mengambil Platform kini dipindahkan ke jendela bidik. (I30127)
  • CameraViewfinder telah diganti namanya menjadi ViewfinderView sehingga penamaannya selaras dengan penamaan composable Viewfinder dan untuk menunjukkan bahwa composable ini dapat digunakan dengan lebih dari sekadar sumber kamera. (Id9e6b)
  • Class dari viewfinder-view telah dipindahkan ke subpaket androidx.camera.viewfinder.view dari paket androidx.camera.viewfinder. (I6cb44)
  • API baru ditambahkan ke Viewfinder berbasis tampilan yang memungkinkan setelan rotasi sumber, pencerminan, dan pemangkasan persegi panjang. Class TransformationInfo ini adalah class yang sama dengan yang digunakan oleh Viewfinder berbasis compose. (I907c3)
  • Viewfinder berbasis tampilan kini menggunakan ViewfinderSurfaceRequest API baru yang tidak lagi menangani respons Platform secara internal. Daripada menampilkan ListenableFuture<Surface>, requestSurfaceSession() API kini menampilkan ListenableFuture<ViewfinderSurfaceSession> yang menampilkan class AutoCloseable yang saat ditutup berperilaku sama seperti memanggil API lama ViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Hal ini memberikan pemisahan tanggung jawab yang lebih jelas antara permintaan platform dan respons platform. (I19041)

Versi 1.4

Versi 1.4.0-alpha13

26 Februari 2025

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13, dan androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13 dirilis. Versi 1.4.0-alpha13 berisi commit ini.

Versi 1.4.0-alpha12

15 Januari 2025

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12, dan androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12 dirilis. Versi 1.4.0-alpha12 berisi commit ini.

Fitur Baru

  • Mengupgrade compileSdk menjadi 35 untuk menggunakan API terkait Android 15. Aplikasi yang menggunakan library CameraX juga harus mengupgrade setelan konfigurasi compileSdk. (Ic80cd)
  • Library ini kini menggunakan anotasi nullness JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar: -Xjspecify-annotations=strict (ini adalah default yang dimulai dengan compiler Kotlin versi 2.1.0). (I7bcd7, b/326456246)

Versi 1.4.0-alpha11

11 Desember 2024

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11, dan androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11 dirilis. Versi 1.4.0-alpha11 berisi commit ini.

Perubahan API

  • Class viewfinder-core telah dipindahkan ke paket yang konsisten dengan library tempatnya berada. (I431c6)
  • CameraViewfinder.ScaleType telah dipindahkan ke viewfinder-core sehingga dapat digunakan kembali dengan compose (I87ef1)
  • Class CameraViewfinder yang tidak digunakan lagi akan dihapus. Harap gunakan API baru yang menyediakan fungsi yang setara. (I6e59a)

Versi 1.4.0-alpha10

30 Oktober 2024

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10, dan androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10 dirilis. Versi 1.4.0-alpha10 berisi commit ini.

Versi 1.4.0-alpha09

2 Oktober 2024

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09, dan androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09 dirilis. Versi 1.4.0-alpha09 berisi commit ini.

Versi 1.4.0-alpha08

4 September 2024

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08, dan androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08 dirilis. Versi 1.4.0-alpha08 berisi commit ini.

Fitur Baru

Dengan update ke 1.4.0-alpha08, artefak Viewfinder CameraX telah dipindahkan ke grup library-nya sendiri. Perubahan ini diperlukan untuk meningkatkan modularitas dan kemampuan pemeliharaan library CameraX.

Jika sebelumnya Anda bergantung pada androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose, atau androidx.camera:camera-viewfinder-core, Anda harus mentransisikan dependensi ke hal berikut:

  • 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

Anda tidak perlu mengubah kode untuk melakukan transisi ini. Koordinat maven Viewfinder lama tidak akan lagi menerima update.

Selain itu, jika Anda menggunakan Compose dengan CameraX, library Compose-first baru kini tersedia dalam versi alfa: androidx.camera:camera-compose. Tindakan ini menyediakan composable CameraXViewfinder, yang merupakan Jendela Bidik idiomatik compose yang menyesuaikan SurfaceRequest CameraX ke Compose, mirip dengan cara kerja PreviewView untuk tampilan.