kính ngắm camera

  
Thành phần kết hợp độc lập và Kính ngắm dựa trên khung hiển thị cho 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
Lần gần nhất cập nhật thư viện này: ngày 25 tháng 3 năm 2026

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.

Báo lỗi mới

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-alpha01androidx.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.0androidx.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 ImplementationMode thông qua API công khai ViewfinderDefaults.implementationMode mới. API này hiện được dùng làm giá trị mặc định cho cả ViewfinderView và thành phần kết hợp Viewfinder. (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-rc01androidx.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-beta02androidx.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-beta01androidx.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-alpha02androidx.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-alpha01androidx.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 ImplementationMode thông qua API công khai ViewfinderDefaults.implementationMode mới. API này hiện được dùng làm giá trị mặc định cho cả ViewfinderView và thành phần kết hợp Viewfinder. (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.3androidx.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.2androidx.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.1androidx.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.0androidx.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 sang androidx.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 CameraViewfinder thành ViewfinderView để 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ến ViewfinderSurfaceRequest thà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 Viewfinder của Compose hiện hỗ trợ ContentScaleAlignment để 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ợp androidx.compose.foundation.Image tiêu chuẩn.
  • Quản lý vòng đời nền tảng: ViewfinderSurfaceSession hiệ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: Viewfinder hiện mặc định là ImplementationMode thông minh, tự động chọn cách triển khai cơ bản tốt nhất. API này ưu tiên SurfaceView hiệu suất cao (chế độ EXTERNAL) và tự động chuyển về TextureView tươ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 Viewfinder hiện hoạt động chính xác trong Pager của Compose và với movableContentOf(), đả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 Viewfinder dựa trên SurfaceView có 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-rc01androidx.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

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-beta03androidx.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

  • ImplementationMode mặc định cho Viewfinder (cả dựa trên Compose và Khung hiển thị) hiện tự động chọn giữa EXTERNAL (để 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 trong ViewfinderSurfaceRequest hoặ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 ViewfinderSurfaceSession trê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)
  • Viewfinder hiệ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ới EXTERNAL (SurfaceView), hành vi này hiện chỉ có trên API 29 trở lên. Đối với EMBEDDED (TextureView), hành vi này có trên tất cả các cấp API. (I9a03f)
  • Viewfinder hiệ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ắm EXTERNAL trên cấp độ API 28 trở xuống di chuyển ra khỏi màn hình hoặc nếu Viewfinder (có bất kỳ ImplementationMode) nào là một phần của moveableContentOf(). (I79432)
  • Thành phần kết hợp Viewfinder hiện hoạt động chính xác với Pager củ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ại onReset của AndroidView, hỗ trợ cả cách triển khai EMBEDDEDEXTERNAL. (I0d9be)
  • Khắc phục vấn đề trên Android 10/11 khi EXTERNAL Viewfinder có 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-beta02androidx.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-beta01androidx.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 PreviewViewCameraXViewfinder.

Tính năng mới

  • Giờ đây, bạn có thể sử dụng ContentScaleAlignment trong 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ách androidx.compose.foundation.Image hoạt động. (Ibcea3)

Thay đổi về API

  • TransformationInfo hiệ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ần TransformationInfo, 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ụng ViewfinderInitScope là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.populateFromCharacteristics hiệ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ạo TransformationInfo, 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ớp Camera2TransformationInfo. (Idc6af)
  • ViewfinderSurfaceRequest khô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ành ViewfinderView để 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 con androidx.camera.viewfinder.view từ gói androidx.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 TransformationInfo nà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 ViewfinderSurfaceRequest mớ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 API requestSurfaceSession() hiện trả về ListenableFuture<ViewfinderSurfaceSession>, trả về một lớp AutoCloseable mà khi đóng sẽ hoạt động giống như khi gọi API cũ của ViewfinderSurfaceRequest.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-alpha13androidx.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-alpha12androidx.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 compileSdk thà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ình compileSdk. (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-alpha11androidx.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 sang viewfinder-core để có thể sử dụng lại với Compose (I87ef1)
  • Xoá các lớp CameraViewfinder khô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-alpha10androidx.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-alpha09androidx.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-alpha08androidx.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-view
  • androidx.camera:camera-viewfinder-compose -> androidx.camera.viewfinder:viewfinder-compose
  • androidx.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ị.