カメラ ビューファインダー

  
カメラ用のスタンドアロンのコンポーザブルと View ベースのビューファインダー」

androidx.camera-viewfinder グループ内のすべてのアーティファクトのリストを以下に示します。

アーティファクト 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
viewfinder-compose 1.6.1 - - 1.7.0-alpha01
viewfinder-core 1.6.1 - - 1.7.0-alpha01
viewfinder-view 1.6.1 - - 1.7.0-alpha01
このライブラリの最終更新日: 2026 年 5 月 6 日

依存関係の宣言

camera-viewfinder への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリ をご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

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


}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.7

バージョン 1.7.0-alpha01

2026 年 3 月 11 日

androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01 がリリースされました。バージョン 1.7.0-alpha01 に含まれる commit については、こちらをご覧ください

バージョン 1.6

バージョン 1.6.1

2026 年 5 月 6 日

androidx.camera.viewfinder:viewfinder-compose:1.6.1androidx.camera.viewfinder:viewfinder-core:1.6.1androidx.camera.viewfinder:viewfinder-view:1.6.1 がリリースされました。バージョン 1.6.1 に含まれる commit については、こちらをご覧ください。

バージョン 1.6.0

2026 年 3 月 25 日

androidx.camera.viewfinder:viewfinder-compose:1.6.0androidx.camera.viewfinder:viewfinder-core:1.6.0androidx.camera.viewfinder:viewfinder-view:1.6.0 がリリースされました。バージョン 1.6.0 に含まれる commit については、こちらをご覧ください。

1.5.0 以降の重要な変更:

  • 新しい ViewfinderDefaults.implementationMode 公開 API を介して、デフォルトのビューファインダー ImplementationMode を公開しました。これは、ViewfinderViewViewfinder コンポーザブルの両方のデフォルトとして使用されるようになりました。(Ic3f52)

バージョン 1.6.0-rc01

2026 年 2 月 25 日

androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01androidx.camera.viewfinder:viewfinder-core:1.6.0-rc01androidx.camera.viewfinder:viewfinder-view:1.6.0-rc01 がリリースされました。バージョン 1.6.0-rc01 に含まれる commit については、こちらをご覧ください。

バージョン 1.6.0-beta02

2026 年 2 月 11 日

androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02androidx.camera.viewfinder:viewfinder-core:1.6.0-beta02androidx.camera.viewfinder:viewfinder-view:1.6.0-beta02 がリリースされました。バージョン 1.6.0-beta02 に含まれる commit については、こちらをご覧ください

バージョン 1.6.0-beta01

2026 年 1 月 28 日

androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01androidx.camera.viewfinder:viewfinder-core:1.6.0-beta01androidx.camera.viewfinder:viewfinder-view:1.6.0-beta01 がリリースされました。バージョン 1.6.0-beta01 に含まれる commit については、こちらをご覧ください

バージョン 1.6.0-alpha02

2025 年 12 月 17 日

androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02 がリリースされました。バージョン 1.6.0-alpha02 に含まれる commit については、こちらをご覧ください。

バージョン 1.6.0-alpha01

2025 年 10 月 22 日

androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 がリリースされました。バージョン 1.6.0-alpha01 に含まれる commit については、こちらをご覧ください

API の変更

  • 新しい ViewfinderDefaults.implementationMode 公開 API を介して、デフォルトのビューファインダー ImplementationMode を公開しました。これは、ViewfinderViewViewfinder コンポーザブルの両方のデフォルトとして使用されるようになりました。(Ic3f52)

バージョン 1.5

バージョン 1.5.3

2026 年 1 月 28 日

androidx.camera.viewfinder:viewfinder-compose:1.5.3androidx.camera.viewfinder:viewfinder-core:1.5.3androidx.camera.viewfinder:viewfinder-view:1.5.3 がリリースされました。バージョン 1.5.3 に含まれる commit については、こちらをご覧ください。

バージョン 1.5.2

2025 年 12 月 4 日

androidx.camera.viewfinder:viewfinder-compose:1.5.2androidx.camera.viewfinder:viewfinder-core:1.5.2androidx.camera.viewfinder:viewfinder-view:1.5.2 がリリースされました。バージョン 1.5.2 に含まれる commit については、こちらをご覧ください

バージョン 1.5.1

2025 年 10 月 8 日

androidx.camera.viewfinder:viewfinder-compose:1.5.1androidx.camera.viewfinder:viewfinder-core:1.5.1androidx.camera.viewfinder:viewfinder-view:1.5.1 がリリースされました。バージョン 1.5.1 に含まれる commit については、こちらをご覧ください

バージョン 1.5.0

2025 年 9 月 10 日

androidx.camera.viewfinder:viewfinder-compose:1.5.0androidx.camera.viewfinder:viewfinder-core:1.5.0androidx.camera.viewfinder:viewfinder-view:1.5.0 がリリースされました。バージョン 1.5.0 に含まれる commit については、こちらをご覧ください。

1.4.0 以降の重要な変更:

これは、Camera Viewfinder ライブラリの最初の安定版リリースであり、堅牢でライフサイクルを認識しやすく、使いやすい View ベースと Compose ベースの API を提供します。これらのコンポーネントは、カメラ ビューファインダーとして機能するように設計されており、Camera2 と直接統合できます。

このリリースでは、新しい androidx.camera:camera-compose アーティファクトの基盤も確立されます。このアーティファクトでは、CameraXViewfinder が導入されます。これは、Compose イディオムのビューファインダーで、View ベースのレイアウトで PreviewView が機能するのと同様に、CameraX の SurfaceRequest とシームレスに統合されます。特に重要な変更点は以下のとおりです。

  • アーティファクトの再配置: モジュール性を向上させるため、ビューファインダー アーティファクトが独自のライブラリ グループに移動されました。以前に androidx.camera:camera-viewfinder* 依存関係を使用していたデベロッパーは、androidx.camera.viewfinder:viewfinder-* に移行する必要があります。
  • API の安定化と改良: この安定版リリースでは、API サーフェスが改良されました。これには、汎用性をより適切に反映するために CameraViewfinder の名前を ViewfinderView に変更すること、わかりやすくするためにパッケージを再編成すること、より予測可能な状態管理のために ViewfinderSurfaceRequest を不変のデータ型にすることが含まれます。
  • Compose API の更新: Compose Viewfinder API は、コンテナ内でカメラ ストリームを表示する方法をきめ細かく制御するために、ContentScaleAlignment をサポートするようになりました。これは、標準の androidx.compose.foundation.Image コンポーザブルの動作を反映しています。
  • サーフェスのライフサイクル管理: API 29 以降では、構成の変更やライフサイクル イベントが発生しても ViewfinderSurfaceSession が維持されるようになりました。この変更は、フレームのドロップを減らし、よりスムーズなユーザー エクスペリエンスを提供することを目的としています。
  • 実装モードのデフォルト: Viewfinder は、最適な基盤となる実装を自動的に選択するインテリジェントな ImplementationMode をデフォルトで使用するようになりました。高パフォーマンスの SurfaceViewEXTERNAL モード)が優先され、古い API レベルや既知の互換性の問題があるデバイスでは、互換性の高い TextureViewEMBEDDED モード)に適切にフォールバックします。この動作は、デベロッパーが完全に制御できるようにオーバーライドできます。

バグの修正

  • コンポーザブル Viewfinder が Compose の Pager 内で movableContentOf() とともに正しく動作するようになり、複雑な UI シナリオでサーフェスが適切にリセットおよび管理されるようになりました。(I0d9be I79432)
  • 変換が適用されたときに SurfaceView ベースの Viewfinder が引き伸ばされて表示されることがある Android 10 と 11 の問題を修正しました。(Icc77c)

バージョン 1.5.0-rc01

2025 年 8 月 13 日

androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 がリリースされました。バージョン 1.5.0-rc01 に含まれる commit については、こちらをご覧ください。

バグの修正

バージョン 1.5.0-beta03

2025 年 7 月 16 日

androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03 がリリースされました。バージョン 1.5.0-beta03 に含まれる commit については、こちらをご覧ください。

バグの修正

  • Viewfinder(Compose ベースと View ベースの両方)のデフォルトの ImplementationMode で、EXTERNAL(パフォーマンス用)と EMBEDDED(古い API/特殊なデバイスとの互換性用)がインテリジェントに選択されるようになりました。この動作は、ViewfinderSurfaceRequest または XML 属性(View ベースの API)で明示的に設定することでオーバーライドできます。(Iecd3a)
  • API 29 以降で TextureView または SurfaceView を使用する場合に、サーフェスの作成/破棄のライフサイクル全体で ViewfinderSurfaceSession を維持できるようにすることで、サーフェス セッションの管理を改善しました。(I112d9
  • Viewfinder で、コンポーザブルが破棄されたときに常にリリースされるのではなく、セッションで使用されなくなった場合にのみ、適切なタイミングでサーフェスがリリースされるようになりました。EXTERNALSurfaceView)の場合、この動作は現在 API 29 以降でのみ使用できます。EMBEDDEDTextureView)の場合、この動作はすべての API レベルで利用できます。(I9a03f)
  • Viewfinder で、API レベル 28 以下の EXTERNAL ビューファインダーが画面外に移動した場合や、Viewfinder(任意の ImplementationMode)が moveableContentOf() の一部である場合など、サーフェスの置換が適切に処理されるようになりました。(I79432)
  • コンポーザブル Viewfinder が Compose の Pager で正しく動作するようになりました。この変更により、AndroidViewonReset コールバックを実装することで、コンポーザブルを正常にリセットできるようになり、EMBEDDED 実装と EXTERNAL 実装の両方がサポートされます。(I0d9be)
  • 変換オペレーション(スケールや移動など)が早すぎるために、EXTERNAL Viewfinder が引き伸ばされて表示されたり、正しく表示されなかったりする Android 10/11 の問題を修正しました。レイアウト フェーズでこれらの変換を適用する前に、サーフェスが作成されるまで待機するようになり、正しい出力が保証されます。(Icc77c)

バージョン 1.5.0-beta02

2025 年 6 月 4 日

androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02 がリリースされました。バージョン 1.5.0-beta02 に含まれる commit については、こちらをご覧ください

バージョン 1.5.0-beta01

2025 年 5 月 7 日

androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01 がリリースされました。バージョン 1.5.0-beta01 に含まれる commit については、こちらをご覧ください

  • これは、Camera2 で使用できるほど柔軟な View ベースと Compose ベースのビューファインダーの最初の公式ベータ版リリースです。CameraX で使用する View またはコンポーザブルをお探しの場合は、PreviewViewCameraXViewfinder をご覧ください。

新機能

  • Compose ベースのビューファインダーで ContentScaleAlignment を使用して、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)
  • View ベースのビューファインダーに、ソースの回転、ミラーリング、切り抜き長方形を設定できる新しい API が追加されました。この TransformationInfo クラスは、Compose ベースのビューファインダーで使用されるクラスと同じです。(I907c3)
  • View ベースのビューファインダーで、サーフェス レスポンスを内部で処理しなくなった新しい ViewfinderSurfaceRequest API が使用されるようになりました。ListenableFuture<Surface> を返す代わりに、requestSurfaceSession() API は ListenableFuture<ViewfinderSurfaceSession> を返すようになりました。これは、閉じられたときに ViewfinderSurfaceRequest.markSurfaceSafeToRelease() の古い API を呼び出すのと同じように動作する AutoCloseable クラスを返します。これにより、サーフェス リクエストとサーフェス レスポンスの間の責任がより明確に分離されます。(I19041

バージョン 1.4

バージョン 1.4.0-alpha13

2025 年 2 月 26 日

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13 がリリースされました。バージョン 1.4.0-alpha13 に含まれる commit については、こちらをご覧ください

バージョン 1.4.0-alpha12

2025 年 1 月 15 日

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12 がリリースされました。バージョン 1.4.0-alpha12 に含まれる commit については、こちらをご覧ください。

新機能

  • Android 15 関連の API を使用するために、compileSdk を 35 にアップグレードしました。CameraX ライブラリを使用するアプリでは、compileSdk 構成設定もアップグレードする必要があります。(Ic80cd)
  • このライブラリで、型使用の JSpecify Null 許容アノテーションが使用されるようになりました。Kotlin を使用している場合、次のコンパイラ引数を使用して正しい使用を強制する必要があります: -Xjspecify-annotations=strict(これは Kotlin コンパイラのバージョン 2.1.0 以降のデフォルトです)。(I7bcd7b/326456246)

バージョン 1.4.0-alpha11

2024 年 12 月 11 日

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11 がリリースされました。バージョン 1.4.0-alpha11 に含まれる commit については、こちらをご覧ください。

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-alpha10androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10 がリリースされました。バージョン 1.4.0-alpha10 に含まれる commit については、こちらをご覧ください

バージョン 1.4.0-alpha09

2024 年 10 月 2 日

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09 がリリースされました。バージョン 1.4.0-alpha09 に含まれる commit については、こちらをご覧ください

バージョン 1.4.0-alpha08

2024 年 9 月 4 日

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08 がリリースされました。バージョン 1.4.0-alpha08 に含まれる commit については、こちらをご覧ください。

新機能

1.4.0-alpha08 への更新により、CameraX ビューファインダー アーティファクトが独自のライブラリ グループに移動されました。この変更は、CameraX ライブラリのモジュール性と保守性を向上させるために必要です。

以前に androidx.camera:camera-viewfinderandroidx.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 がアルファ版で利用できるようになりました。これにより、CameraXViewfinder コンポーザブルが提供されます。これは、Compose イディオムのビューファインダーで、View で PreviewView が機能するのと同様に、CameraX の SurfaceRequest を Compose に適応させます。