kính ngắm của máy ảnh

  
Kính ngắm dựa trên Thành phần kết hợp và Khung hiển thị độc lập cho Máy ảnh"

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.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
Lần gần nhất cập nhật thư viện này: ngày 7 tháng 5 năm 2025

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 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.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")


}

Để 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.5

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 chế độ xem và dựa trên tính năng soạn thư đủ linh hoạt để sử dụng với Camera2. Nếu bạn đang tì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 bề mặt hiển thị trong vùng chứa, tương tự như cách hoạt động của androidx.compose.foundation.Image. (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 sẽ cho phép tạo Kính ngắm mà không cần TransformationInfo nào. 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 có thể kết hợp hiện sử dụng một lambda theo sau để nhận phiên Surface, tương tự như AndroidExternalSurface. Lambda được cung cấp sử dụng ViewfinderInitScope làm trình thu, cho phép cài đặt lệnh gọi lại để nhận các phiên Surface mới. Các phiên hoạt động trên nền tảng này sẽ tự động giải phóng tài nguyên do Kính ngắm giữ khi tài nguyên đó 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 API tĩnh tương đương có thể dùng để tạo TransformationInfo. API này sẽ tạo ra phép biến đổi giống 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 giao diện nữa. Hiện tại, đây là một loại dữ liệu bất biến. Các API để truy xuất Surface hiện đã được chuyển sang kính ngắm. (I30127)
  • CameraViewfinder đã được đổi tên thành ViewfinderView để tên gọi phù hợp với tên gọi của thành phần kết hợp Kính ngắm và để cho biết rằng thành phần kết hợp này có thể được sử dụng với nhiều nguồn máy ảnh. (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 chế độ xem cho phép đặt chế độ xoay nguồn, phản chiếu và hình chữ nhật cắt. Lớp TransformationInfo này giống với lớp mà Kính ngắm dựa trên Compose sử dụng. (I907c3)
  • Kính ngắm dựa trên chế độ xem hiện sử dụng các API ViewfinderSurfaceRequest mới không còn xử lý phản hồi Surface trong nội bộ nữa. Thay vì trả về ListenableFuture<Surface>, các API requestSurfaceSession() hiện trả về ListenableFuture<ViewfinderSurfaceSession>. Lớp này 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 phân tách rõ ràng hơn trách nhiệm giữa yêu cầu bề mặt và phản hồi bề mặt. (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 lên 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 sẽ 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ú giải 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 cách 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 phiên bả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, thì bạn cần chuyển đổi các phần phụ thuộc sang các phần 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. Toạ độ 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 mới ưu tiên Compose hiện đã có trong phiên bản alpha: androidx.camera:camera-compose. Thao tác này cung cấp thành phần kết hợp CameraXViewfinder, là một Kính ngắm theo ngữ pháp Compose, điều chỉnh SurfaceRequest của CameraX cho Compose, tương tự như cách PreviewView hoạt động cho các thành phần hiển thị.