카메라 뷰파인더
이 표에는 androidx.camera-viewfinder
그룹의 모든 아티팩트가 나열됩니다.
아티팩트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
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 |
종속 항목 선언
camera-viewfinder의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
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" }
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") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.5
버전 1.5.0-beta01
2025년 5월 7일
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01
및 androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01
이 출시되었습니다. 버전 1.5.0-beta01에는 이 커밋이 포함되어 있습니다.
- 이 버전은 Camera2와 함께 사용할 만큼 유연한 뷰 기반 및 Compose 기반 뷰파인더의 첫 번째 공식 베타 버전입니다. CameraX와 함께 사용할 뷰 또는 컴포저블을 찾고 있다면
PreviewView
및CameraXViewfinder
를 참고하세요.
새로운 기능
- 이제
ContentScale
및Alignment
를 Compose 기반 뷰파인더에서 사용하여androidx.compose.foundation.Image
의 동작과 마찬가지로 표시된 노출 영역을 컨테이너 내에서 크기 조절하고 배치할 수 있습니다. (Ibcea3)
API 변경사항
- 이제
TransformationInfo
에 모든 인수의 기본값이 있습니다. 이렇게 하면TransformationInfo
없이 뷰파인더를 만들 수 있으며, 기본적으로 소스 회전 0, 소스 미러링 없음, 자르기 직사각형 없음으로 설정됩니다. (I2b1b2) - 이제 컴포저블 뷰파인더는
AndroidExternalSurface
와 마찬가지로 후행 람다를 사용하여 노출 영역 세션을 수신합니다. 제공된 람다는ViewfinderInitScope
를 수신기로 사용합니다. 이를 통해 새 노출 영역 세션을 수신하는 콜백을 설치할 수 있습니다. 이러한 노출 세션은 범위를 벗어나면 뷰파인더에서 보유한 리소스를 자동으로 해제합니다. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
가 삭제되고 이제populateFromCharacteristics
와 동일한 변환을 생성하는TransformationInfo
를 생성하는 데 사용할 수 있는 등가의 정적 API 세트로 대체되었습니다. 이러한 정적 메서드는Camera2TransformationInfo
클래스에 추가됩니다. (Idc6af)ViewfinderSurfaceRequest
에는 더 이상 노출 영역을 가져오는 비동기 API가 포함되지 않습니다. 이제 변경할 수 없는 데이터 유형입니다. 노출 영역을 검색하는 API가 이제 뷰파인더로 이동되었습니다. (I30127)CameraViewfinder
의 이름이ViewfinderView
로 변경되었습니다. 이름 지정이 뷰파인더 컴포저블의 이름 지정과 일치하고 카메라 소스 외에도 사용할 수 있음을 나타내기 위해서입니다. (Id9e6b)viewfinder-view
의 클래스가androidx.camera.viewfinder
패키지에서androidx.camera.viewfinder.view
하위 패키지로 이동했습니다. (I6cb44)- 소스 회전, 미러링, 자르기 직사각형을 설정할 수 있는 새 API가 뷰 기반 뷰파인더에 추가되었습니다. 이
TransformationInfo
클래스는 Compose 기반 뷰파인더에서 사용하는 클래스와 동일합니다. (I907c3) - 뷰 기반 뷰파인더는 이제 더 이상 내부에서 노출 영역 응답을 처리하지 않는 새로운
ViewfinderSurfaceRequest
API를 사용합니다. 이제requestSurfaceSession()
API는ListenableFuture<Surface>
를 반환하는 대신ListenableFuture<ViewfinderSurfaceSession>
를 반환하며,ListenableFuture<ViewfinderSurfaceSession>
는AutoCloseable
클래스를 반환합니다.AutoCloseable
클래스는 닫을 때 이전ViewfinderSurfaceRequest.markSurfaceSafeToRelease()
API를 호출하는 것과 동일한 방식으로 작동합니다. 이렇게 하면 노출 영역 요청과 노출 영역 응답 간의 책임을 더 명확하게 구분할 수 있습니다. (I19041)
버전 1.4
버전 1.4.0-alpha13
2025년 2월 26일
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13
및 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13
이 출시되었습니다. 버전 1.4.0-alpha13에는 이 커밋이 포함되어 있습니다.
버전 1.4.0-alpha12
2025년 1월 15일
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12
및 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12
이 출시되었습니다. 버전 1.4.0-alpha12에는 이 커밋이 포함되어 있습니다.
새로운 기능
- Android 15 관련 API를 사용하기 위해
compileSdk
를 35로 업그레이드했습니다. CameraX 라이브러리를 사용하는 앱도compileSdk
구성 설정을 업그레이드해야 합니다. (Ic80cd) - 이제 이 라이브러리는 유형 사용인 JSpecify nullness 주석을 사용합니다. Kotlin 개발자는 올바른 사용을 적용하기 위해 다음 컴파일러 인수
-Xjspecify-annotations=strict
를 사용해야 합니다 (Kotlin 컴파일러 버전 2.1.0부터 기본값임). (I7bcd7, b/326456246)
버전 1.4.0-alpha11
2024년 12월 11일
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11
및 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11
이 출시되었습니다. 버전 1.4.0-alpha11에는 이 커밋이 포함되어 있습니다.
API 변경사항
viewfinder-core
클래스가 속한 라이브러리와 일치하는 패키지로 이동했습니다. (I431c6)CameraViewfinder.ScaleType
를viewfinder-core
로 이동하여 Compose와 함께 재사용할 수 있도록 했습니다. (I87ef1)- 지원 중단된
CameraViewfinder
클래스가 삭제되었습니다. 동등한 기능을 제공하는 새 API를 사용하세요. (I6e59a)
버전 1.4.0-alpha10
2024년 10월 30일
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10
및 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10
이 출시되었습니다. 버전 1.4.0-alpha10에는 이 커밋이 포함되어 있습니다.
버전 1.4.0-alpha09
2024년 10월 2일
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09
및 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09
이 출시되었습니다. 버전 1.4.0-alpha09에는 이 커밋이 포함되어 있습니다.
버전 1.4.0-alpha08
2024년 9월 4일
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08
및 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08
이 출시되었습니다. 버전 1.4.0-alpha08에는 이 커밋이 포함되어 있습니다.
새로운 기능
1.4.0-alpha08으로 업데이트되면서 CameraX 뷰파인더 아티팩트가 자체 라이브러리 그룹으로 이동했습니다. 이 변경사항은 CameraX 라이브러리의 모듈성과 유지 관리성을 개선하기 위해 필요합니다.
이전에 androidx.camera:camera-viewfinder
, androidx.camera:camera-viewfinder-compose
또는 androidx.camera:camera-viewfinder-core
를 사용했다면 종속 항목을 다음으로 전환해야 합니다.
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
이 전환을 위해 코드를 변경할 필요는 없습니다. 이전 뷰파인더 Maven 좌표는 더 이상 업데이트되지 않습니다.
또한 CameraX와 함께 Compose를 사용하는 경우 이제 새로운 Compose 우선 라이브러리(androidx.camera:camera-compose
)를 알파 버전으로 사용할 수 있습니다. 이렇게 하면 PreviewView
가 뷰에서 작동하는 방식과 유사하게 CameraX의 SurfaceRequest
를 Compose에 맞게 조정하는 Compose 관용적 뷰파인더인 CameraXViewfinder
컴포저블이 제공됩니다.