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.0 | - | - | 1.7.0-alpha01 |
| viewfinder-core | 1.6.0 | - | - | 1.7.0-alpha01 |
| viewfinder-view | 1.6.0 | - | - | 1.7.0-alpha01 |
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-alpha01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01") }
Để 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ề Công cụ theo dõi lỗi để biết thêm thông tin.
Phiên bản 1.7
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.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ị kính ngắm mặc định
ImplementationModethô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ị kính ngắm mặc định
ImplementationModethô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ẽ, có thể 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 kiểu 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 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. Trước đây, các nhà phát triển sử dụng 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, sắp xếp lại các gói để rõ ràng hơn và biếnViewfinderSurfaceRequestthành một loại dữ liệu không thể thay đổi để quản lý trạng thái dễ dự đoán hơn. - Cập nhật API Compose: API
Viewfindercủa Compose hiện hỗ trợContentScalevàAlignmentđể kiểm soát chi tiết cách luồng video của 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 trên 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 người dùng mượt mà hơn. - 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 tốt 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ó 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 tình huống giao diện người dùng phức tạp. (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
- Di 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 tự động chọn giữaEXTERNAL(để có hiệu suất) vàEMBEDDED(để tương thích trên các API cũ/thiết bị kỳ lạ). 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 tính năng quản lý phiên Nền tảng bằng cách cho phép duy trì hoạt động
ViewfinderSurfaceSessiontrên các vòng đời tạo/hủy bỏ 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 phiên không còn sử dụng nữa, thay vì luôn phát hành khi Thành phần kết hợp bị huỷ. Đố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 tình huống như khi kính ngắmEXTERNALtrên cấp độ API 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
EXTERNALViewfindercó thể bị kéo giãn hoặc không chính xác do các thao tác biến đổi (như tỷ lệ 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 kiếm một 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 để điều chỉnh tỷ lệ và đặt nền tảng 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 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 thành phần kết hợp hiện lấy một 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 nắ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 gồm các API tĩnh có thể dùng để tạoTransformationInfo, 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à một 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 thành phần này có thể được sử dụng 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 hướng 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ý phản hồi Surface bên trong nữa. Thay vì trả vềListenableFuture<Surface>, các APIrequestSurfaceSession()hiện trả vềListenableFuture<ViewfinderSurfaceSession>, trả về một lớpAutoCloseablemà khi đóng sẽ 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ề khả năng 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ể sử dụng lại với Compose (I87ef1)- Xoá các lớp
CameraViewfinderkhông dùng nữa. 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 duy 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, thì bạn cần chuyển các phần phụ thuộc sang như 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. Các toạ độ Maven cũ của Kính ngắm 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ì một 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à một Kính ngắm theo kiểu Compose giúp điều chỉnh SurfaceRequest của CameraX thành Compose, tương tự như cách PreviewView hoạt động đối với khung hiển thị.