kính ngắm camera
Bảng này liệt kê tất cả cấu phần phần mềm trong nhóm androidx.camera-viewfinder.
| Cấu phần phần mềm | Bản phát hành ổn định | Bản phát hành dùng thử | Bản phát hành beta | Bản phát hành alpha |
|---|---|---|---|---|
| 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 |
Khai báo phần phụ thuộc
Để thêm một phần phụ thuộc trên camera-viewfinder, bạn phải thêm kho lưu trữ Google Maven vào dự án của mình. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:
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") }
Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Xem tài liệu về Trình theo dõi sự cố để biết thêm thông tin.
Phiên bản 1.7
Phiên bản 1.7.0-alpha02
Ngày 1 tháng 7 năm 2026
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha02 và androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha02. Phiên bản 1.7.0-alpha02 bao gồm các thay đổi sau.
Thay đổi về API
CameraXViewfinderhiện hỗ trợ các cử chỉ tích hợp để chụm để thu phóng và nhấn để lấy nét, đồng thời hỗ trợ đèn flash màn hình và trạng thái luồng.FocusStatehiện ở chế độ công khai trong viewfinder-core để cho phép theo dõi kết quả nhấn để lấy nét. (I66a17, b/522549890)- Đã thêm thuộc tính
TransformationModevàoTransformationInfođể hỗ trợ các ứng dụng sử dụng quy trìnhOpenGLở chế độEMBEDDED. (Id1de1, b/487826941)
Sửa lỗi
- Xoá yêu cầu đối với
compileSdk 37(If78b4)
Phiên bản 1.7.0-alpha01
Ngày 11 tháng 3 năm 2026
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01 và androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01. Phiên bản 1.7.0-alpha01 bao gồm các thay đổi sau.
Phiên bản 1.6
Phiên bản 1.6.1
Ngày 6 tháng 5 năm 2026
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.6.1, androidx.camera.viewfinder:viewfinder-core:1.6.1 và androidx.camera.viewfinder:viewfinder-view:1.6.1. Phiên bản 1.6.1 bao gồm các thay đổi sau.
Phiên bản 1.6.0
Ngày 25 tháng 3 năm 2026
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.6.0, androidx.camera.viewfinder:viewfinder-core:1.6.0 và androidx.camera.viewfinder:viewfinder-view:1.6.0. Phiên bản 1.6.0 bao gồm các thay đổi sau.
Các thay đổi quan trọng kể từ phiên bản 1.5.0:
- Đã hiển thị
ImplementationModekính ngắm mặc định thông qua API công khaiViewfinderDefaults.implementationModemới. API này hiện được dùng làm giá trị mặc định cho cảViewfinderViewvà thành phần kết hợpViewfinder. (Ic3f52)
Phiên bản 1.6.0-rc01
Ngày 25 tháng 2 năm 2026
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.6.0-rc01 và androidx.camera.viewfinder:viewfinder-view:1.6.0-rc01. Phiên bản 1.6.0-rc01 bao gồm các thay đổi sau.
Phiên bản 1.6.0-beta02
Ngày 11 tháng 2 năm 2026
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta02 và androidx.camera.viewfinder:viewfinder-view:1.6.0-beta02. Phiên bản 1.6.0-beta02 bao gồm các thay đổi sau.
Phiên bản 1.6.0-beta01
Ngày 28 tháng 1 năm 2026
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta01 và androidx.camera.viewfinder:viewfinder-view:1.6.0-beta01. Phiên bản 1.6.0-beta01 bao gồm các thay đổi sau.
Phiên bản 1.6.0-alpha02
Ngày 17 tháng 12 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02 và androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02. Phiên bản 1.6.0-alpha02 bao gồm các thay đổi sau.
Phiên bản 1.6.0-alpha01
Ngày 22 tháng 10 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 và androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01. Phiên bản 1.6.0-alpha01 bao gồm các thay đổi sau.
Thay đổi về API
- Đã hiển thị
ImplementationModekính ngắm mặc định thông qua API công khaiViewfinderDefaults.implementationModemới. API này hiện được dùng làm giá trị mặc định cho cảViewfinderViewvà thành phần kết hợpViewfinder. (Ic3f52)
Phiên bản 1.5
Phiên bản 1.5.3
Ngày 28 tháng 1 năm 2026
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.5.3, androidx.camera.viewfinder:viewfinder-core:1.5.3 và androidx.camera.viewfinder:viewfinder-view:1.5.3. Phiên bản 1.5.3 bao gồm các thay đổi sau.
Phiên bản 1.5.2
Ngày 4 tháng 12 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.5.2, androidx.camera.viewfinder:viewfinder-core:1.5.2 và androidx.camera.viewfinder:viewfinder-view:1.5.2. Phiên bản 1.5.2 bao gồm các thay đổi sau.
Phiên bản 1.5.1
Ngày 8 tháng 10 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1 và androidx.camera.viewfinder:viewfinder-view:1.5.1. Phiên bản 1.5.1 bao gồm các thay đổi sau.
Phiên bản 1.5.0
Ngày 10 tháng 9 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0 và androidx.camera.viewfinder:viewfinder-view:1.5.0. Phiên bản 1.5.0 bao gồm các thay đổi sau.
Các thay đổi quan trọng kể từ phiên bản 1.4.0:
Đây là bản phát hành ổn định đầu tiên của thư viện Kính ngắm camera, cung cấp các API mạnh mẽ, nhận biết vòng đời và dễ sử dụng dựa trên Khung hiển thị và Compose. Các thành phần này được thiết kế để đóng vai trò là kính ngắm camera và có thể được tích hợp trực tiếp với Camera2.
Bản phát hành này cũng thiết lập nền tảng cho cấu phần phần mềm androidx.camera:camera-compose mới, giới thiệu CameraXViewfinder, một kính ngắm theo thành ngữ Compose tích hợp liền mạch với SurfaceRequest của CameraX, tương tự như cách PreviewView hoạt động đối với các bố cục dựa trên Khung hiển thị. Sau đây là một số thay đổi quan trọng nhất:
- Di chuyển cấu phần phần mềm: Để cải thiện tính mô-đun, các cấu phần phần mềm Kính ngắm đã được chuyển sang nhóm thư viện riêng. Nhà phát triển trước đây sử dụng các phần phụ thuộc
androidx.camera:camera-viewfinder*nên di chuyển sangandroidx.camera.viewfinder:viewfinder-*. - Ổn định và tinh chỉnh API: Nền tảng API đã được hoàn thiện cho bản phát hành ổn định này. Điều này bao gồm việc đổi tên
CameraViewfinderthànhViewfinderViewđể phản ánh rõ hơn tính linh hoạt của API này, sắp xếp lại các gói để rõ ràng hơn và biếnViewfinderSurfaceRequestthành loại dữ liệu không thể thay đổi để quản lý trạng thái dễ dự đoán hơn. - Nội dung cập nhật API Compose: API
ViewfinderCompose hiện hỗ trợContentScalevàAlignmentđể kiểm soát chi tiết cách luồng camera được hiển thị trong vùng chứa, phản ánh hành vi của thành phần kết hợpandroidx.compose.foundation.Imagetiêu chuẩn. - Quản lý vòng đời nền tảng:
ViewfinderSurfaceSessionhiện được duy trì hoạt động trong các thay đổi về cấu hình và sự kiện vòng đời trên API 29 trở lên. Thay đổi này được thiết kế để giảm số khung hình bị bỏ qua và mang lại trải nghiệm mượt mà hơn cho người dùng. - Giá trị mặc định của chế độ triển khai:
Viewfinderhiện mặc định làImplementationModethông minh, tự động chọn cách triển khai cơ bản phù hợp nhất. API này ưu tiênSurfaceViewhiệu suất cao (chế độEXTERNAL) và tự động chuyển vềTextureViewtương thích hơn (chế độEMBEDDED) trên các cấp độ API cũ hơn hoặc thiết bị có các vấn đề đã biết về khả năng tương thích. Bạn vẫn có thể ghi đè hành vi này để nhà phát triển có toàn quyền kiểm soát.
Sửa lỗi
- Thành phần kết hợp
Viewfinderhiện hoạt động chính xác trongPagercủa Compose và vớimovableContentOf(), đảm bảo nền tảng được đặt lại và quản lý đúng cách trong các trường hợp phức tạp về giao diện người dùng. (I0d9be, I79432) - Khắc phục vấn đề trên Android 10 và 11 khi
Viewfinderdựa trênSurfaceViewcó thể bị kéo giãn khi áp dụng các phép biến đổi. (Icc77c)
Phiên bản 1.5.0-rc01
Ngày 13 tháng 8 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 và androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01. Phiên bản 1.5.0-rc01 bao gồm các thay đổi sau.
Sửa lỗi
- Chuyển
minSdkmặc định từ API 21 sang API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Phiên bản 1.5.0-beta03
Ngày 16 tháng 7 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03 và androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03. Phiên bản 1.5.0-beta03 bao gồm các thay đổi sau.
Sửa lỗi
ImplementationModemặc định choViewfinder(cả dựa trên Compose và Khung hiển thị) hiện chọn một cách thông minh giữaEXTERNAL(để có hiệu suất) vàEMBEDDED(để tương thích trên các API cũ/thiết bị có lỗi). Bạn vẫn có thể ghi đè hành vi này bằng các chế độ cài đặt rõ ràng trongViewfinderSurfaceRequesthoặc thuộc tính XML (trên API dựa trên Khung hiển thị). (Iecd3a)- Cải thiện việc quản lý phiên nền tảng bằng cách cho phép duy trì
ViewfinderSurfaceSessiontrong các vòng đời tạo/huỷ nền tảng khi sử dụng TextureView hoặc SurfaceView trên API 29 trở lên. (I112d9) Viewfinderhiện đảm bảo các Nền tảng được phát hành vào đúng thời điểm, chỉ khi không còn được phiên sử dụng, thay vì luôn phát hành khi Thành phần kết hợp bị loại bỏ. Đối vớiEXTERNAL(SurfaceView), hành vi này hiện chỉ có trên API 29 trở lên. Đối vớiEMBEDDED(TextureView), hành vi này có trên tất cả các cấp độ API. (I9a03f)Viewfinderhiện xử lý đúng cách việc thay thế nền tảng trong các trường hợp như khi kính ngắmEXTERNALtrên API cấp 28 trở xuống di chuyển ra khỏi màn hình hoặc nếuViewfinder(có bất kỳImplementationMode) nào là một phần củamoveableContentOf(). (I79432)- Thành phần kết hợp
Viewfinderhiện hoạt động chính xác vớiPagercủa Compose. Thay đổi này đảm bảo rằng Thành phần kết hợp có thể được đặt lại thành công bằng cách triển khai lệnh gọi lạionResetcủaAndroidView, hỗ trợ cả cách triển khaiEMBEDDEDvàEXTERNAL. (I0d9be) - Khắc phục vấn đề trên Android 10/11 khi
ViewfinderEXTERNALcó thể bị kéo giãn hoặc không chính xác do các thao tác biến đổi (như thu phóng hoặc dịch) được áp dụng quá sớm. Hệ thống hiện chờ Nền tảng được tạo trước khi áp dụng các phép biến đổi này trong giai đoạn bố cục, đảm bảo đầu ra chính xác. (Icc77c)
Phiên bản 1.5.0-beta02
Ngày 4 tháng 6 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02 và androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02. Phiên bản 1.5.0-beta02 bao gồm các thay đổi sau.
Phiên bản 1.5.0-beta01
Ngày 7 tháng 5 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01 và androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01. Phiên bản 1.5.0-beta01 bao gồm các thay đổi sau.
- Đây là bản phát hành beta chính thức đầu tiên của kính ngắm dựa trên khung hiển thị và dựa trên Compose, đủ linh hoạt để sử dụng với Camera2. Nếu bạn đang tìm Khung hiển thị hoặc thành phần kết hợp để sử dụng với CameraX, hãy xem
PreviewViewvàCameraXViewfinder.
Tính năng mới
- Giờ đây, bạn có thể sử dụng
ContentScalevàAlignmenttrong kính ngắm dựa trên Compose để thu phóng và đặt nền tảng được hiển thị trong vùng chứa, tương tự như cáchandroidx.compose.foundation.Imagehoạt động. (Ibcea3)
Thay đổi về API
TransformationInfohiện có các giá trị mặc định cho tất cả đối số. Điều này sẽ cho phép tạo Kính ngắm mà không cầnTransformationInfo. Giá trị này sẽ mặc định là xoay nguồn 0, không phản chiếu nguồn và không có hình chữ nhật cắt. (I2b1b2)- Kính ngắm kết hợp hiện lấy lambda ở cuối để nhận phiên Nền tảng, tương tự như
AndroidExternalSurface. Lambda được cung cấp sử dụngViewfinderInitScopelàm trình nhận, cho phép cài đặt lệnh gọi lại để nhận các phiên Nền tảng mới. Các phiên nền tảng này tự động phát hành tài nguyên do Kính ngắm giữ khi chúng nằm ngoài phạm vi. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristicshiện đã bị xoá và được thay thế bằng một tập hợp tương đương các API tĩnh có thể dùng để tạoTransformationInfo. API này sẽ tạo ra cùng một phép biến đổi nhưpopulateFromCharacteristics. Các phương thức tĩnh này được thêm vào lớpCamera2TransformationInfo. (Idc6af)ViewfinderSurfaceRequestkhông còn bao gồm các API không đồng bộ để truy xuất nền tảng. Đây hiện là loại dữ liệu không thể thay đổi. Các API để truy xuất Nền tảng hiện được chuyển sang kính ngắm. (I30127)CameraViewfinderđã được đổi tên thànhViewfinderViewđể tên này phù hợp với tên của thành phần kết hợp Kính ngắm và cho biết rằng bạn có thể sử dụng thành phần này với nhiều nguồn hơn là chỉ nguồn camera. (Id9e6b)- Các lớp từ
viewfinder-viewđã được chuyển sang gói conandroidx.camera.viewfinder.viewtừ góiandroidx.camera.viewfinder. (I6cb44) - Các API mới được thêm vào Kính ngắm dựa trên khung hiển thị cho phép đặt xoay nguồn, phản chiếu và hình chữ nhật cắt. Lớp
TransformationInfonày là lớp giống với lớp được Kính ngắm dựa trên Compose sử dụng. (I907c3) - Kính ngắm dựa trên khung hiển thị hiện sử dụng các API
ViewfinderSurfaceRequestmới không còn xử lý nội bộ phản hồi Nền tảng. Thay vì trả vềListenableFuture<Surface>, các APIrequestSurfaceSession()hiện trả vềListenableFuture<ViewfinderSurfaceSession>trả về lớpAutoCloseable. Khi đóng, lớp này hoạt động giống như khi gọi API cũ củaViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Điều này giúp tách biệt rõ ràng trách nhiệm giữa yêu cầu nền tảng và phản hồi nền tảng. (I19041)
Phiên bản 1.4
Phiên bản 1.4.0-alpha13
Ngày 26 tháng 2 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13 và androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13. Phiên bản 1.4.0-alpha13 bao gồm các thay đổi sau.
Phiên bản 1.4.0-alpha12
Ngày 15 tháng 1 năm 2025
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12 và androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12. Phiên bản 1.4.0-alpha12 bao gồm các thay đổi sau.
Tính năng mới
- Đã nâng cấp
compileSdkthành 35 để sử dụng API liên quan đến Android 15. Các ứng dụng sử dụng thư viện CameraX cũng cần nâng cấp chế độ cài đặt cấu hìnhcompileSdk. (Ic80cd) - Thư viện này hiện sử dụng chú thích về tính chất rỗng của JSpecify, là loại sử dụng. Nhà phát triển Kotlin nên sử dụng đối số trình biên dịch sau để thực thi việc sử dụng chính xác:
-Xjspecify-annotations=strict(đây là giá trị mặc định bắt đầu từ phiên bản 2.1.0 của trình biên dịch Kotlin). (I7bcd7, b/326456246)
Phiên bản 1.4.0-alpha11
Ngày 11 tháng 12 năm 2024
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11 và androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11. Phiên bản 1.4.0-alpha11 bao gồm các thay đổi sau.
Thay đổi về API
- Các lớp
viewfinder-coređã được chuyển vào các gói nhất quán với thư viện mà chúng thuộc về. (I431c6) CameraViewfinder.ScaleTypeđã được chuyển sangviewfinder-coređể có thể dùng lại với Compose (I87ef1)- Các lớp
CameraViewfinderkhông dùng nữa đã bị xoá. Vui lòng sử dụng các API mới cung cấp chức năng tương đương. (I6e59a)
Phiên bản 1.4.0-alpha10
Ngày 30 tháng 10 năm 2024
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10 và androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10. Phiên bản 1.4.0-alpha10 bao gồm các thay đổi sau.
Phiên bản 1.4.0-alpha09
Ngày 2 tháng 10 năm 2024
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09 và androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09. Phiên bản 1.4.0-alpha09 bao gồm các thay đổi sau.
Phiên bản 1.4.0-alpha08
Ngày 4 tháng 9 năm 2024
Phát hành androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08 và androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08. Phiên bản 1.4.0-alpha08 bao gồm các thay đổi sau.
Tính năng mới
Với bản cập nhật lên 1.4.0-alpha08, cấu phần phần mềm Kính ngắm CameraX đã được chuyển sang nhóm thư viện riêng. Thay đổi này là cần thiết để cải thiện tính mô-đun và khả năng bảo trì của thư viện CameraX.
Nếu trước đây bạn phụ thuộc vào androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose hoặc androidx.camera:camera-viewfinder-core, bạn sẽ cần chuyển các phần phụ thuộc sang các phần sau:
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
Bạn không cần thay đổi mã để thực hiện quá trình chuyển đổi này. Tọa độ Maven của Kính ngắm cũ sẽ không còn nhận được bản cập nhật nữa.
Ngoài ra, nếu bạn đang sử dụng Compose với CameraX, thì thư viện ưu tiên Compose mới hiện có ở phiên bản alpha: androidx.camera:camera-compose. Thư viện này cung cấp thành phần kết hợp CameraXViewfinder, là Kính ngắm theo thành ngữ Compose, điều chỉnh SurfaceRequest của CameraX thành Compose, tương tự như cách PreviewView hoạt động đối với các khung hiển thị.