jendela bidik kamera
Tabel ini mencantumkan semua artefak dalam grup androidx.camera-viewfinder.
| Artefak | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| viewfinder-compose | 1.6.1 | - | - | 1.7.0-alpha02 |
| viewfinder-core | 1.6.1 | - | - | 1.7.0-alpha02 |
| viewfinder-view | 1.6.1 | - | - | 1.7.0-alpha02 |
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.7.0-alpha02" implementation "androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha02" implementation "androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha02" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha02") implementation("androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha02") implementation("androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha02") }
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.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.7
Versi 1.7.0-alpha02
01 Juli 2026
androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha02, dan androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha02 dirilis. Versi 1.7.0-alpha02 berisi commit ini.
Perubahan API
CameraXViewfinderkini mendukung gestur bawaan untuk cubit untuk memperbesar dan ketuk untuk memfokuskan, serta menambahkan dukungan untuk flash layar dan status streaming.FocusStatekini bersifat publik di viewfinder-core untuk memungkinkan pemantauan hasil ketuk untuk memfokuskan. (I66a17, b/522549890)- Menambahkan properti
TransformationModekeTransformationInfountuk mendukung aplikasi menggunakan pipelineOpenGLdalam modeEMBEDDED. (Id1de1, b/487826941)
Perbaikan Bug
- Menghapus persyaratan untuk
compileSdk 37(If78b4)
Versi 1.7.0-alpha01
11 Maret 2026
androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01, dan androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01 dirilis. Versi 1.7.0-alpha01 berisi commit ini.
Versi 1.6
Versi 1.6.1
06 Mei 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.1, androidx.camera.viewfinder:viewfinder-core:1.6.1, dan androidx.camera.viewfinder:viewfinder-view:1.6.1 dirilis. Versi 1.6.1 berisi commit ini.
Versi 1.6.0
25 Maret 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.0, androidx.camera.viewfinder:viewfinder-core:1.6.0, dan androidx.camera.viewfinder:viewfinder-view:1.6.0 dirilis. Versi 1.6.0 berisi commit ini.
Perubahan penting sejak versi 1.5.0:
- Mengekspos
ImplementationModejendela bidik default melaluiViewfinderDefaults.implementationModeAPI publik baru. Sekarang, API ini digunakan sebagai default untukViewfinderViewdan composableViewfinder. (Ic3f52)
Versi 1.6.0-rc01
25 Februari 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.6.0-rc01, dan androidx.camera.viewfinder:viewfinder-view:1.6.0-rc01 dirilis. Versi 1.6.0-rc01 berisi commit ini.
Versi 1.6.0-beta02
11 Februari 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta02, dan androidx.camera.viewfinder:viewfinder-view:1.6.0-beta02 dirilis. Versi 1.6.0-beta02 berisi commit ini.
Versi 1.6.0-beta01
28 Januari 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta01, dan androidx.camera.viewfinder:viewfinder-view:1.6.0-beta01 dirilis. Versi 1.6.0-beta01 berisi commit ini.
Versi 1.6.0-alpha02
17 Desember 2025
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02, dan androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02 dirilis. Versi 1.6.0-alpha02 berisi commit ini.
Versi 1.6.0-alpha01
22 Oktober 2025
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01, dan androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 dirilis. Versi 1.6.0-alpha01 berisi commit ini.
Perubahan API
- Mengekspos
ImplementationModejendela bidik default melaluiViewfinderDefaults.implementationModeAPI publik baru. Sekarang, API ini digunakan sebagai default untukViewfinderViewdan composableViewfinder. (Ic3f52)
Versi 1.5
Versi 1.5.3
28 Januari 2026
androidx.camera.viewfinder:viewfinder-compose:1.5.3, androidx.camera.viewfinder:viewfinder-core:1.5.3, dan androidx.camera.viewfinder:viewfinder-view:1.5.3 dirilis. Versi 1.5.3 berisi commit ini.
Versi 1.5.2
4 Desember 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.2, androidx.camera.viewfinder:viewfinder-core:1.5.2, dan androidx.camera.viewfinder:viewfinder-view:1.5.2 dirilis. Versi 1.5.2 berisi commit ini.
Versi 1.5.1
08 Oktober 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1, dan androidx.camera.viewfinder:viewfinder-view:1.5.1 dirilis. Versi 1.5.1 berisi commit ini.
Versi 1.5.0
10 September 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0, dan androidx.camera.viewfinder:viewfinder-view:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.
Perubahan penting sejak versi 1.4.0:
Ini adalah rilis stabil pertama library Jendela Bidik Kamera, yang menyediakan API berbasis Tampilan dan Compose yang kuat, mengetahui siklus proses, dan mudah digunakan. Komponen ini dirancang untuk berfungsi sebagai jendela bidik kamera dan dapat diintegrasikan langsung dengan Camera2.
Rilis ini juga menetapkan dasar untuk artefak androidx.camera:camera-compose baru, yang memperkenalkan CameraXViewfinder, jendela bidik idiom Compose yang terintegrasi dengan lancar dengan SurfaceRequest CameraX, mirip dengan cara PreviewView berfungsi untuk tata letak berbasis Tampilan. Beberapa perubahan terpenting meliputi:
- Relokasi Artefak: Untuk meningkatkan modularitas, artefak Jendela Bidik telah dipindahkan ke grup librarynya sendiri. Developer yang sebelumnya menggunakan dependensi
androidx.camera:camera-viewfinder*harus bermigrasi keandroidx.camera.viewfinder:viewfinder-*. - Stabilisasi dan Penyempurnaan API: Platform API telah disempurnakan untuk rilis stabil ini. Hal ini mencakup mengganti nama
CameraViewfindermenjadiViewfinderViewagar lebih mencerminkan fleksibilitasnya, mengatur ulang paket untuk kejelasan, dan menjadikanViewfinderSurfaceRequestsebagai jenis data yang tidak dapat diubah untuk pengelolaan status yang lebih mudah diprediksi. - Update Compose API: Compose
ViewfinderAPI kini mendukungContentScaledanAlignmentuntuk kontrol mendetail atas cara streaming kamera ditampilkan dalam penampungnya, yang mencerminkan perilaku composableandroidx.compose.foundation.Imagestandar. - Pengelolaan Siklus Proses Platform:
ViewfinderSurfaceSessionkini tetap aktif di seluruh perubahan konfigurasi dan peristiwa siklus proses di API 29+. Perubahan ini dirancang untuk mengurangi frame yang dihilangkan dan memberikan pengalaman pengguna yang lebih lancar. - Default Mode Implementasi:
Viewfinderkini ditetapkan secara default keImplementationModecerdas yang otomatis memilih implementasi dasar terbaik. Mode ini memprioritaskanSurfaceViewberperforma tinggi (modeEXTERNAL) dan secara lancar kembali keTextureViewyang lebih kompatibel (modeEMBEDDED) pada level API atau perangkat lama dengan masalah kompatibilitas yang diketahui. Perilaku ini masih dapat diganti untuk kontrol developer penuh.
Perbaikan Bug
- Composable
Viewfinderkini berfungsi dengan benar dalamPagerCompose dan denganmovableContentOf(), sehingga memastikan platform direset dan dikelola dengan benar dalam skenario UI yang kompleks. (I0d9be, I79432) - Memperbaiki masalah di Android 10 dan 11 saat
ViewfinderberbasisSurfaceViewdapat terlihat direntangkan saat transformasi diterapkan. (Icc77c)
Versi 1.5.0-rc01
13 Agustus 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01, dan androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 dirilis. Versi 1.5.0-rc01 berisi commit ini.
Perbaikan Bug
- Memindahkan
minSdkdefault dari API 21 ke API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Versi 1.5.0-beta03
16 Juli 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03, dan androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03 dirilis. Versi 1.5.0-beta03 berisi commit ini.
Perbaikan Bug
ImplementationModedefault untukViewfinder(berbasis Compose dan Tampilan) kini memilih secara cerdas antaraEXTERNAL(untuk performa) danEMBEDDED(untuk kompatibilitas pada API lama/perangkat aneh). Perilaku ini masih dapat diganti dengan setelan eksplisit diViewfinderSurfaceRequestatau atribut XML (di API berbasis Tampilan). (Iecd3a)- Meningkatkan pengelolaan sesi Platform dengan memungkinkan
ViewfinderSurfaceSessiontetap aktif di seluruh siklus proses pembuatan/penghancuran platform saat menggunakan TextureView atau SurfaceView di API 29+. (I112d9) Viewfinderkini memastikan Platform dirilis pada waktu yang tepat, hanya jika tidak lagi digunakan oleh sesi, bukan selalu dirilis saat Composable dihapus. UntukEXTERNAL(SurfaceView), perilaku ini saat ini hanya tersedia di API 29+. UntukEMBEDDED(TextureView), perilaku ini ada di semua level API. (I9a03f)Viewfinderkini menangani penggantian platform dengan benar dalam skenario seperti saat jendela bidikEXTERNALdi level API 28 atau yang lebih rendah berpindah dari layar atau jikaViewfinder(denganImplementationModeapa pun) adalah bagian darimoveableContentOf(). (I79432)- Composable
Viewfinderkini berfungsi dengan benar denganPagerCompose. Perubahan ini memastikan Composable dapat direset dengan berhasil dengan menerapkan callbackonResetdariAndroidView, yang mendukung implementasiEMBEDDEDdanEXTERNAL. (I0d9be) - Memperbaiki masalah di Android 10/11 saat
ViewfinderEXTERNALdapat terlihat direntangkan atau salah karena operasi transformasi (seperti skala atau terjemahan) diterapkan terlalu awal. Sistem kini menunggu Platform dibuat sebelum menerapkan transformasi ini dalam fase tata letak, sehingga memastikan output yang benar. (Icc77c)
Versi 1.5.0-beta02
4 Juni 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02, dan androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02 dirilis. Versi 1.5.0-beta02 berisi commit ini.
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 dari jendela bidik berbasis tampilan dan berbasis compose yang cukup fleksibel untuk digunakan dengan Camera2. Jika Anda mencari Tampilan atau composable untuk digunakan dengan CameraX, lihat
PreviewViewdanCameraXViewfinder.
Fitur Baru
ContentScaledanAlignmentkini dapat digunakan di jendela bidik berbasis compose untuk menskalakan dan menempatkan platform yang ditampilkan dalam penampungnya, mirip dengan perilakuandroidx.compose.foundation.Image. (Ibcea3)
Perubahan API
TransformationInfokini memiliki nilai default untuk semua argumen. Hal ini akan memungkinkan Jendela Bidik dibuat tanpaTransformationInfoapa pun, yang akan ditetapkan secara default ke rotasi sumber 0, tanpa mirroring sumber, dan tanpa rect crop. (I2b1b2)- Composable Viewfinder kini menggunakan lambda akhir untuk menerima sesi Platform, mirip dengan
AndroidExternalSurface. Lambda yang disediakan menggunakanViewfinderInitScopesebagai penerima, yang memungkinkan penginstalan callback untuk menerima sesi Platform baru. Sesi platform ini otomatis merilis resource yang dipegang oleh Jendela Bidik saat keluar dari cakupan. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristicskini telah dihapus dan diganti dengan kumpulan API statis yang setara yang dapat digunakan untuk menghasilkanTransformationInfoyang akan menghasilkan transformasi yang sama denganpopulateFromCharacteristics. Metode statis ini ditambahkan ke classCamera2TransformationInfo. (Idc6af)ViewfinderSurfaceRequesttidak lagi menyertakan API asinkron untuk mengambil platform. Sekarang, jenis data ini tidak dapat diubah. API untuk mengambil Platform kini dipindahkan ke jendela bidik. (I30127)CameraViewfindertelah diganti namanya menjadiViewfinderViewsehingga penamaannya selaras dengan penamaan composable Jendela Bidik dan untuk menunjukkan bahwa composable ini dapat digunakan dengan lebih dari sekadar sumber kamera. (Id9e6b)- Class dari
viewfinder-viewtelah dipindahkan ke subpaketandroidx.camera.viewfinder.viewdari paketandroidx.camera.viewfinder. (I6cb44) - API baru ditambahkan ke Jendela Bidik berbasis tampilan yang memungkinkan setelan rotasi sumber, mirroring, dan persegi panjang crop. Class
TransformationInfoini adalah class yang sama yang digunakan oleh Jendela Bidik berbasis compose. (I907c3) - Jendela Bidik berbasis tampilan kini menggunakan
ViewfinderSurfaceRequestAPI baru yang tidak lagi menangani respons Platform secara internal. Daripada menampilkanListenableFuture<Surface>,requestSurfaceSession()API kini menampilkanListenableFuture<ViewfinderSurfaceSession>yang menampilkan classAutoCloseableyang saat ditutup berperilaku sama seperti memanggil API lamaViewfinderSurfaceRequest.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
compileSdksebagai 35 untuk menggunakan API terkait Android 15. Aplikasi yang menggunakan library CameraX juga perlu mengupgrade setelan konfigurasicompileSdk. (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-coretelah dipindahkan ke paket yang konsisten dengan library tempat class tersebut berada. (I431c6) CameraViewfinder.ScaleTypetelah dipindahkan keviewfinder-coresehingga dapat digunakan kembali dengan compose (I87ef1)- Class
CameraViewfinderyang tidak digunakan lagi akan dihapus. 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 Jendela Bidik CameraX telah dipindahkan ke grup librarynya 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 melakukan transisi dependensi ke yang berikut:
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
Tidak perlu perubahan kode untuk melakukan transisi ini. Koordinat maven Jendela Bidik 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. Library ini menyediakan composable CameraXViewfinder, yang merupakan Jendela Bidik idiom compose yang mengadaptasi SurfaceRequest CameraX ke Compose, mirip dengan cara PreviewView berfungsi untuk tampilan.