카메라 뷰파인더

  
카메라용 뷰파인더용 컴포저블 및 뷰 기반 뷰파인더'

이 표에는 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
이 라이브러리는 2025년 5월 7일에 최종 업데이트되었습니다.

종속 항목 선언

camera-viewfinder의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

GroovyKotlin
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-beta01androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01이 출시되었습니다. 버전 1.5.0-beta01에는 이 커밋이 포함되어 있습니다.

  • 이 버전은 Camera2와 함께 사용할 만큼 유연한 뷰 기반 및 Compose 기반 뷰파인더의 첫 번째 공식 베타 버전입니다. CameraX와 함께 사용할 뷰 또는 컴포저블을 찾고 있다면 PreviewViewCameraXViewfinder를 참고하세요.

새로운 기능

  • 이제 ContentScaleAlignment를 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-alpha13androidx.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-alpha12androidx.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-alpha11androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11이 출시되었습니다. 버전 1.4.0-alpha11에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • viewfinder-core 클래스가 속한 라이브러리와 일치하는 패키지로 이동했습니다. (I431c6)
  • CameraViewfinder.ScaleTypeviewfinder-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-alpha10androidx.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-alpha09androidx.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-alpha08androidx.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 컴포저블이 제공됩니다.