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

  
Material 3 アダプティブ ライブラリを使用して、ウィンドウ サイズクラスやデバイスのポーズなどの現在のウィンドウ構成に応じて自動的に適応するアダプティブ UI を作成します。このライブラリは、デフォルトのスキャフォールディング実装と、独自のカスタム エクスペリエンスを作成するために必要な構成要素コンポーザブルの両方を提供します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2025 年 7 月 2 日 1.1.0 - - 1.2.0-alpha08

依存関係の宣言

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

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

Groovy

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Kotlin

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

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

フィードバック

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

新しい問題を報告する

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

Compose Material3 Adaptive バージョン 1.2

バージョン 1.2.0-alpha08

2025 年 7 月 2 日

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

バージョン 1.2.0-alpha07

2025 年 6 月 18 日

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

API の変更

  • currentWindowAdaptiveInfo() 関数で大と特大のウィンドウ幅サイズクラスをサポートし、calculatePosture() 関数と currentWindowDpSize() 関数を安定版に昇格させます。(I92e97

バージョン 1.2.0-alpha06

2025 年 5 月 20 日

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

新機能

  • デフォルトのペイン スキャフォールド ディレクティブの計算関数が、L と XL のウィンドウ幅サイズクラスをサポートするようになりました。

API の変更

  • Modifier.paneExpansionDraggable でデフォルトのユーザー補助セマンティクスを提供し、関連する API を安定版に昇格(Idb818
  • 浮遊ペインのドラッグしてサイズ変更をサポート(Idadd3
  • 浮遊ペインのスクリムをサポート(I9b091

バージョン 1.2.0-alpha05

2025 年 5 月 7 日

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

新機能

  • Material3 のアダプティブ レイアウトで、ペインをフローティング ポップアップに変換できる Levitated アダプティブ戦略がサポートされるようになりました。

API の変更

  • 現在のウィンドウ サイズ関数をマルチプラットフォームに対応させる(Ie4172
  • 浮遊ペインのペイン モーションを導入(Ic9dc3
  • 適応のための levitate 戦略を導入(I1ba7c

バグの修正

  • アダプティブ サンプルでのコルーチン スコープの使用を修正(7631016

バージョン 1.2.0-alpha04

2025 年 4 月 23 日

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

新機能

  • ListDetailPaneScaffoldSupportingPaneScaffold でリフロー戦略が利用できるようになりました。これにより、関連付けられたペインがシングルペイン レイアウト設定でリフローされます。

API の変更

  • 保存可能な状態ホルダーを PaneScaffoldScope に追加(Id9299
  • 適応のためのリフロー戦略を導入(I75c6a

バグの修正

  • 最初のトランジションでペインがアニメーションしないバグを修正しました。(Ib0415
  • 優先される高さが機能しない問題を修正。(I1913b
  • スキャフォールディング ディレクティブが正しく更新されないバグを修正しました。(0403ab

バージョン 1.2.0-alpha03

2025 年 4 月 9 日

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

バグの修正

  • 単一ペイン レイアウトでドラッグ ハンドルが正しく表示されない問題を修正しました。(806e443

依存関係の更新

  • このライブラリは Kotlin 2.0 言語レベルをターゲットとするようになり、KGP 2.0.0 以降が必要になりました。(Idb6b5

バージョン 1.2.0-alpha02

2025 年 3 月 26 日

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

バージョン 1.2.0-alpha01

2025 年 3 月 12 日

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

API の変更

  • デベロッパーが新しい適応戦略で適用されるペインの推奨の高さを指定するための PaneScaffoldScope.preferredHeight 修飾子を導入します。(I957ddb/220960090
  • ComponentOverride 型の名前を Override に、ComponentOverrideContext 型の名前を OverrideScope に変更しました。(Id973c
  • 一部のコンポーネント オーバーライド メソッドの名前を変更しました。(I222b3

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

バージョン 1.1.0

2025 年 3 月 12 日

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

1.0.0 以降の重要な変更

  • ListDetailPaneScaffoldSupportingPaneScaffold でペインの展開機能がサポートされるようになりました。ユーザーはドラッグしてデュアルペイン レイアウトのデフォルトのペイン分割を変更できます。デベロッパーは、新たに導入された PaneExpansionState を変更することで、実行時にペイン分割を変更することもできます。
  • NavigableListDetailPaneScaffoldNavigableSupportingPaneScaffold でデフォルトの予測型「戻る」のサポートが利用できるようになりました。ThreePaneScaffoldPredictiveBackHandler を使用して、独自の 3 ペイン スキャフォールド実装で予測型「戻る」のサポートを提供することもできます。
  • AnimatedPane に異なる EnterTransitionExitTransition を指定することで、ペインの切り替え時のペインの動きをカスタマイズできるようになりました。

バージョン 1.1.0-rc01

2025 年 2 月 26 日

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

バグの修正

  • 3 ペイン スキャフォールドの予測型「戻る」スケールを無効化(ab6fd0b

バージョン 1.1.0-beta02

2025 年 2 月 12 日

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

API の変更

  • 状態の一貫性を維持するために、MutableThreePaneScaffoldState アニメーション関数で isPredictiveBackInProgress を設定する方法を変更しました。(Idc97f

バグの修正

  • ライブラリの他の部分との一貫性を保つため、NavigableListDetailPaneScaffoldNavigableSupportingPaneScaffold のデフォルトの戻る動作が PopUntilScaffoldValueChange に変更されました。(I873f0
  • ペイン スキャフォールドのアクセシビリティ トラバーシングの順序を正しく設定します。(67d030
  • ペインのコンテンツの状態が保存されない問題を修正しました。(88b0ff
  • ドラッグの代わりにユーザー補助の代替アクションをサポートします。(28266d
  • 現在のペイン分割が変更された後、それをアナウンスします。(0c3a80

バージョン 1.1.0-beta01

2025 年 1 月 29 日

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

API の変更

  • オフセット タイプのペイン展開アンカーをそれぞれ開始と終了から作成するファクトリー関数を導入します。(I2eb21
  • PaneMotion インターフェースを封印し、そのデフォルトの遷移メソッドを削除しました。(Ifc4c7
  • 現在のアクティブなアンカーを取得し、アンカーにアニメーションで移動する API を導入します。(Icf95d
  • ペイン展開用のアクセシビリティ API を導入(Icc669
  • PaneScaffoldParentData.preferredWidth のタイプを DP に変更します。(Id98ee

バージョン 1.1.0-alpha09

2025 年 1 月 15 日

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

API の変更

  • 新しい試験運用版のアノテーション ExperimentalMaterial3AdaptiveComponentOverrideApi を追加して使用します。(Id45aa
  • ThreePaneScaffoldHorizontalOrder.toLtrOrder を非表示にします。(I6f8d2
  • ThreePaneScaffoldPredictiveBackHandler が公開されました。(I1a995b/370543873
  • isPredictiveBackInProgress プロパティを ThreePaneScaffoldState に追加しました。(I1a995b/370543873
  • さまざまなフォーム ファクタのサイドローディング実装をサポートするため、AnimatedPane のオーバーライド メカニズムを作成します。(Id7622

バグの修正

  • セトリングの方向にアンカーがない場合の問題を修正しました。(df8257d

バージョン 1.1.0-alpha08

2024 年 12 月 12 日

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

API の変更

  • currentWindowDpSize 関数を導入します。(I99125b/296300441
  • PaneScaffoldParentDataThreePaneScaffoldHorizontalOrder.toLtrOrder() を公開(I2d6b7
  • PaneScaffoldMotionScope を削除し、PaneScaffoldTransitionScope のフィールドにします。また、名前を PaneScaffoldMotionDataProvider に変更し、PaneMotionData の基盤となるデータ構造へのアクセスを削除します。代わりに、データにアクセスするためのゲッター メソッドとループ メソッドを提供します。(Id8884
  • さまざまなフォーム ファクタのサイドローディング実装をサポートするため、ThreePaneScaffold のオーバーライド メカニズムを作成します。(I5280f
  • ペインの展開状態をデフォルトで null にします(Ia65f8b/376394520

バージョン 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 とその関連する記憶関数 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 の変更

  • スコープ インターフェースを sealed にします。(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
  • ジェネリック型のないナビゲーターの記憶メソッドを追加。(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 日