Compose マテリアル 3 アダプティブ

  
Material 3 アダプティブ ライブラリを使用して、ウィンドウ サイズクラスやデバイスの向きなど、現在のウィンドウ構成に応じて自動的に適応するアダプティブ UI を作成します。このライブラリには、独自のカスタム エクスペリエンスを作成するために必要なデフォルトのスキャフォールド実装とビルディング ブロック コンポーザブルの両方が用意されています。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2024 年 11 月 13 日 1.0.0 - - 1.1.0-alpha07

依存関係の宣言

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

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

Groovy

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

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

フィードバック

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

新しい問題を報告する

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

Compose Material3 アダプティブ バージョン 1.1

バージョン 1.1.0-alpha07

2024 年 11 月 13 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 がリリースされました。バージョン 1.1.0-alpha07 に含まれる commit はこちらをご覧ください。

API の変更

  • アダプティブ ライブラリのドラッグハンドルの実装を削除し、M3 バージョンの使用を推奨しました。また、提供されたドラッグハンドル コンポーザブルにペイン拡張ドラッグ機能を提供する修飾子も導入します。また、実装の詳細として DraggableState を非表示にして、必要に応じて後で変更できるようにします。(Ib50cd
  • UXR のフィードバックに基づいて、ペインのモーションのカスタマイズのエントリ ポイントをスキャフォールディング関数から AnimatedPane に移動しました。(I10f72
  • ペインの展開のフリング サポートとカスタム アニメーション仕様を導入しました。(Ie207db/362584341

バグの修正

  • キャンセル時の予測バックの問題を修正。(36a3e0a)、(b/369899645

バージョン 1.1.0-alpha06

2024 年 10 月 30 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit はこちらをご覧ください。

API の変更

  • PaneScaffoldTransitionScope.motionProgressFloatRange を追加しました。(Iac0dd
  • ナビゲート可能なスキャフォールドで、ナビゲーター パラメータの型を汎用型に変更。(I1da6e

バージョン 1.1.0-alpha05

2024 年 10 月 16 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 がリリースされました。バージョン 1.1.0-alpha05 には、これらの commit が含まれています。

API の変更

  • アニメーション仕様クラスを導入し、より一貫したモーション動作と将来の拡張性を実現しました。(I2d3cc
  • モーション タイプを指定し、PaneMotionData の currentXXXXX の名前を originXXXX に変更します。(I7c61a

バージョン 1.1.0-alpha04

2024 年 10 月 2 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit はこちらをご覧ください。

新機能

  • NavigableListDetailPaneScaffoldNavigableSupportingPaneScaffold に予測型「戻る」のサポートを追加しました。(I4dc21b/359616816

API の変更

  • ThreePaneScaffoldStateThreePaneScaffoldNavigator に追加しました。アニメーションによるナビゲーションをサポートするために、ナビゲーション メソッドが suspend になりました。seekBack を追加して、部分的なナビゲーション状態(予測型「戻る」など)をサポートしました。(I5a651b/359616816
  • スキャフォールド値間の遷移を制御する MutableThreePaneScaffoldState を追加しました。既存の ThreePaneScaffoldState は読み取り専用になりました。(Idb3c6
  • デフォルトのペイン モーションの実装を公開しました。(I95a7b
  • ペインの展開状態の初期アンカーの設定を有効にしました。(Ie41b3b/362350560

バグの修正

  • ドラッグハンドルの最小タップ ターゲット サイズを 48x48dp に強制(7ce6635b/366018217
  • 構成変更後にアンカー位置を復元しました。(3c9fc6bb/362353672

バージョン 1.1.0-alpha03

2024 年 9 月 18 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 がリリースされました。バージョン 1.1.0-alpha03 には、これらの commit が含まれています。

バージョン 1.1.0-alpha02

2024 年 9 月 4 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 がリリースされました。バージョン 1.1.0-alpha02 には、これらの commit が含まれています。

新機能

  • モーションのカスタマイズ(I0bf9c)、(I80e66)がサポートされ、クリエイターは、アダプティブ スキャフォールドの状態変化時にデフォルトのモーションを変更できます。クリエイターは、一連のデフォルトの開始と終了の切り替えから選択することも、新しいモーション スコープから提供される情報を使用して純粋なカスタム切り替えを実装することもできます。
  • ペイン展開ドラッグハンドルのフェード アニメーションを実装しました。(46e3c69
  • 保存可能な PaneExpansionState を記憶できるようにしました。(61ff76f

API の変更

  • 不足しているペイン展開 API をスキャフォールドに追加しました。(Ic5bc0
  • ThreePaneScaffoldDestinationItem.content の名前を contentKey に変更しました。rememberListDetailPaneScaffoldNavigatorrememberSupportingPaneScaffoldNavigator のデフォルトの型引数を Nothing から Any に変更しました。(I58749
  • ThreePaneScaffoldState を安定版としてマーク(I64aec
  • ドラッグハンドル パラメータをスコープに設定しました。(Ic0aa2

バージョン 1.1.0-alpha01

2024 年 8 月 21 日

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 には、これらの commit が含まれています。

新機能

  • アダプティブ スキャフォールドのペイン拡張のサポートを導入しました。

API の変更

  • ペイン展開 API を一般公開しました。(I301d6
  • ペインの値の遷移を制御する ThreePaneScaffoldState を導入しました。この状態を受け入れる ListDetailPaneScaffoldSupportingPaneScaffold のオーバーロードを追加しました。(I5db3b
  • ペインの展開キーとキー プロバイダ インターフェースを導入しました。(Id621f

バグの修正

  • 除外ヒンジが存在する場合のパーティションの誤った計算を修正。(9dfd483

Compose Material3 アダプティブ バージョン 1.0

バージョン 1.0.0

2024 年 9 月 4 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0 がリリースされました。バージョン 1.0.0 に含まれる commit はこちらをご覧ください。

1.0.0 の主な機能

  • 1 行のコンポーザブル関数 currentWindowSize()collectFoldingFeaturesAsState()currentWindowAdaptiveInfo(): アプリの適応に必要なウィンドウ情報(ウィンドウサイズや折りたたみ機能など)を取得します。
  • ListDetailPaneScaffoldSupportingPaneScaffold を使用して、さまざまなウィンドウ構成に応じて自動的に適応する 2 つのマテリアル 3 正規レイアウトを提供します。また、これらの 2 つのスキャフォールドは、クリエイターのさまざまなニーズに合わせて完全にカスタマイズすることもできます。
  • ThreePaneScaffoldNavigator と、それに関連する remember 関数 rememberListDetailPaneScaffoldNavigator()rememberSupportingPaneScaffoldNavigator() を使用して、アダプティブ スキャフォールド内でナビゲーション ソリューションを提供します。これは、アダプティブ以外の世界で一般的な 1 つのデスティネーションの設定とは対照的に、複数のデスティネーションを同時に表示できます。
  • アダプティブ スキャフォールドの状態を変更する際のデフォルトの組み込みの Material3 アニメーション。

バージョン 1.0.0-rc01

2024 年 8 月 21 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。

バグの修正

  • 除外ヒンジが存在する場合のパーティションの誤った計算を修正。(9dfd483

バージョン 1.0.0-beta04

2024 年 6 月 26 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 がリリースされました。バージョン 1.0.0-beta04 に含まれる commit はこちらをご覧ください。

バグの修正

  • ヒンジ境界が更新されたときに、レイアウトが適切に更新されない問題を修正しました。(71e9cf1

バージョン 1.0.0-beta03

2024 年 6 月 12 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 がリリースされました。バージョン 1.0.0-beta03 に含まれる commit はこちらをご覧ください。

バグの修正

  • beta02 で依存関係の解決が正しく行われなかったために発生するクラッシュを修正しました。

バージョン 1.0.0-beta02

2024 年 5 月 29 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 がリリースされました。バージョン 1.0.0-beta02 に含まれる commit はこちらをご覧ください。

バージョン 1.0.0-beta01

2024 年 5 月 14 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 には、これらの commit が含まれています。

バージョン 1.0.0-alpha12

2024 年 5 月 1 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit はこちらをご覧ください。

API の変更

  • isFlat の情報を HingeInfo に追加しました。(Ie0516b/333784198
  • 適応型 API を試験運用版から削除しました。(I1d038
  • アダプティブ レイアウト API を試験運用版から削除しました。(Id23df
  • BackNavigationBehavior を列挙型から値クラスに変更しました。(Id8757

バグの修正

  • 遷移の分数をラムダに変更(I6f5a9
  • SizeTracker の初期状態の問題を修正しました。(18326a9
  • Posture の等価性チェックにヒンジリストを含める(6687137

バージョン 1.0.0-alpha11

2024 年 4 月 17 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit はこちらをご覧ください。

API の変更

  • スコープ インターフェースをシールします。(Iefa57
  • AnimatedPaneScope を導入しました。(I62d73b/332750742
  • AdaptStrategy をシーリングして安定させます。(Ia28b2
  • PaneScaffoldDirective のコピー メソッドを導入します。(I9291f
  • ThreePaneScaffoldScope を試験運用としてマークしました。(I9d527
  • ナビゲーションをサポートする使いやすいスキャフォールド API を提供します。(I263f0b/321010778

バージョン 1.0.0-alpha10

2024 年 4 月 3 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit はこちらをご覧ください。

API の変更

  • デフォルトの推奨幅をアダプティブにしてカスタマイズ可能にします。(Ic3abc
  • スキャフォールド ディレクティブの計算関数の名前を変更。(I10855
  • スキャフォールディング API からパディングとインセットを削除しました。(I786f8
  • 汎用型のないナビゲーター remember メソッドを追加。(I607c3

バージョン 1.0.0-alpha09

2024 年 3 月 20 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 には、これらの commit が含まれています。

API の変更

  • ThreePaneScaffoldScope に状態遷移フィールドを追加しました。(I3d917
  • スキャフォールド パラメータの順序を変更しました。(I4dff5
  • AnimatedPane 修飾子パラメータのデフォルト値を指定します。(I77dd7

バグの修正

  • ペインのモーションにスペーサーのサイズを含める。(a3174ca

バージョン 1.0.0-alpha08

2024 年 3 月 6 日

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 がリリースされました。バージョン 1.0.0-alpha08 には、これらの commit が含まれています。

新機能

  • ペインを切り替えるときの遅延スライドインを実装しました。(I1a38e

API の変更

  • ThreePaneScaffoldState インターフェースを削除しました。(I63f23

バージョン 1.0.0-alpha07

2024 年 2 月 21 日