カメラ ビューファインダー
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
ファイルに、必要なアーティファクトの依存関係を追加します。
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") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、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 には、これらの commit が含まれています。
- これは、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 を使用するようになりました。これにより、Surface レスポンスが内部で処理されなくなりました。requestSurfaceSession()
API は、ListenableFuture<Surface>
ではなくListenableFuture<ViewfinderSurfaceSession>
を返すようになりました。ListenableFuture<ViewfinderSurfaceSession>
はAutoCloseable
クラスを返します。このクラスは、閉じられたときに、古い APIViewfinderSurfaceRequest.markSurfaceSafeToRelease()
を呼び出す場合と同じように動作します。これにより、サーフェス リクエストとサーフェス レスポンスの責任が明確に分離されます。(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 に含まれる commit はこちらをご覧ください。
バージョン 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 に含まれる commit はこちらをご覧ください。
新機能
- 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 に含まれる commit はこちらをご覧ください。
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 に含まれる commit はこちらをご覧ください。
バージョン 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 には、これらの commit が含まれています。
バージョン 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 には、これらの commit が含まれています。
新機能
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
この移行に伴うコード変更は必要ありません。古い Viewfinder maven 座標は更新されなくなります。
また、CameraX で Compose を使用している場合は、新しい Compose ファースト ライブラリ(androidx.camera:camera-compose
)がアルファ版で利用可能になりました。これにより、CameraXViewfinder
コンポーザブルが提供されます。これは、PreviewView
がビューで機能する方法と同様に、CameraX の SurfaceRequest
を Compose に適合させる、Compose 固有のビューファインダーです。