Compose マテリアル 3
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2025 年 7 月 2 日 | 1.3.2 | - | - | 1.4.0-alpha17 |
構造
Compose は、androidx
内の 7 つの Maven Group ID を組み合わせたものです。各グループにはそれぞれの目的に応じて Compose の機能のサブセットが含まれており、それぞれに固有のリリースノートがあります。
次の表に、各グループの説明と、それぞれのリリースノートのリンクを示します。
グループ | 説明 |
---|---|
compose.animation | Jetpack Compose アプリ内でアニメーションを作成して、ユーザー エクスペリエンスを高めます。 |
compose.compiler | @Composable 関数を変換し、Kotlin コンパイラ プラグインで最適化を有効にします。 |
compose.foundation | すぐに使用できるビルディング ブロックで Jetpack Compose アプリを作成し、基盤を拡張して独自のデザイン システム要素を構築します。 |
compose.material | すぐに使用できるマテリアル デザイン コンポーネントで Jetpack Compose UI を構築します。Compose の上位レベルのエントリ ポイントであり、www.material.io のガイドラインと適合するコンポーネントを提供するように設計されています。 |
compose.material3 | マテリアル デザインの進化版であるマテリアル デザイン 3 コンポーネントで Jetpack Compose UI を構築します。マテリアル 3 には、最新のテーマ設定とコンポーネント、ダイナミック カラーなどの Material You のパーソナライズ機能が含まれており、Android 12 の新しい視覚的スタイルとシステム UI と調和するように設計されています。 |
compose.runtime | Compose のプログラミング モデルと状態管理の基本ビルディング ブロックと、Compose コンパイラ プラグインがターゲットとするコアランタイム。 |
compose.ui | レイアウト、描画、入力などのデバイス操作に必要な Compose UI の基本コンポーネント。 |
依存関係の宣言
Compose への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.3.2" implementation "androidx.compose.material3:material3-window-size-class:1.3.2" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.2") implementation("androidx.compose.material3:material3-window-size-class:1.3.2") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
Compose Material3 Common バージョン 1.0
バージョン 1.0.0-alpha01
2024 年 4 月 17 日
androidx.compose.material3:material3-common:1.0.0-alpha01
、androidx.compose.material3:material3-common-android:1.0.0-alpha01
、androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 にはこれらの commit が含まれています。
新機能
マテリアル デザイン コンポーネントの構築に使用できるテーマなしのコンポーネント:
- トーン パレット
- アイコン
- タップ ターゲットのサイズ
Compose Material3 アダプティブ ナビゲーション スイート バージョン 1.0
バージョン 1.0.0-alpha07
2024 年 5 月 1 日
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
、androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
がリリースされました。バージョン 1.0.0-alpha07 には、これらの commit が含まれています。
API の変更
- ナビゲーション スイート API を試験運用版ではなくする(If62af)
バグの修正
- デフォルトでコンテンツのインセットを使用(50266df)
バージョン 1.0.0-alpha06
2024 年 4 月 17 日
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
、androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
がリリースされました。バージョン 1.0.0-alpha06 にはこれらの commit が含まれています。
API の変更
containerColor
とcontentColor
をNavigationSuiteScaffoldDefaults
に追加します。(I64e3a、b/331993720)NavigationSuiteDefaults
にitemColors
関数を追加します。(Idf719、b/328480012)NavigationSuiteScope
を封印します。(Iefa57)
バージョン 1.0.0-alpha05
2024 年 3 月 6 日
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
、androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
がリリースされました。バージョン 1.0.0-alpha05 には、これらの commit が含まれています。
API の変更
NavigationSuiteItemColors
コンストラクタを公開しました。(Ica83a、b/324886877)
バージョン 1.0.0-alpha04
2024 年 2 月 21 日
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04
、androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
依存関係の更新
- Material3 アダプティブ依存関係を新しいモジュール パスに更新しました。(Ibc421)
- ウィンドウ サイズクラスの Window Manager バージョンを使用するように移行します。(I3794d)
バージョン 1.0.0-alpha03
2024 年 2 月 7 日
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
、androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
- パッケージ名を navigation-suite から navigationsuite に更新(I7eff7)
- API で
MutableInteractionSource
を公開する Material3 コンポーネントが更新され、デフォルトで null になる null 許容のMutableInteractionSource
を公開するようになりました。セマンティクスの変更はありません。null を渡すことは、MutableInteractionSource
をホイストしないことを意味し、必要に応じてコンポーネント内で作成されます。null に変更すると、一部のコンポーネントでMutableInteractionSource
が割り当てられなくなり、他のコンポーネントでは必要なときにのみインスタンスが遅延作成されるため、これらのコンポーネント全体のパフォーマンスが向上します。これらのコンポーネントに渡すMutableInteractionSource
を使用していない場合は、代わりに null を渡すことをおすすめします。独自のコンポーネントでも同様の変更を行うことをおすすめします。(I41abb、b/298048146)
バージョン 1.0.0-alpha02
2023 年 12 月 13 日
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
、androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- 「なし」の
NavigationSuiteType
を追加しました(If8cb1、b/313688598)
バグの修正
- ルート サーフェスに
modifier.fillMaxSize
がある場合にナビゲーション コンポーネントが画面全体を埋めてしまう問題を修正(c9cf250、b/312664933)
バージョン 1.0.0-alpha01
2023 年 11 月 15 日
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
Compose Material3 アダプティブ バージョン 1.0
バージョン 1.0.0-alpha06
2024 年 2 月 7 日
androidx.compose.material3:material3-adaptive:1.0.0-alpha06
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
、androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
ThreePaneScaffoldNavigator
の「戻る」ナビゲーションの動作オプションを追加しました。(I858aa)- ナビゲーション履歴にオプションのデスティネーション コンテンツを追加しました。(Ibd7e6)
バージョン 1.0.0-alpha05
2024 年 1 月 24 日
androidx.compose.material3:material3-adaptive:1.0.0-alpha05
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
、androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
- スキャフォールド ナビゲーションと値の計算で履歴認識をサポート(I71d46)
バージョン 1.0.0-alpha04
2024 年 1 月 10 日
androidx.compose.material3:material3-adaptive:1.0.0-alpha04
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
、androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- ペイン スキャフォールドでエッジ ツー エッジのサポートを追加しました(I1b462)
API の変更
- Posture のヒンジ境界プロパティをヒンジ情報のリストに移動しました(I24f90)
バグの修正
AnimatedPane
が再コンポーズされない問題を修正(c3f573d)
バージョン 1.0.0-alpha03
2023 年 12 月 13 日
androidx.compose.material3:material3-adaptive:1.0.0-alpha03
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
、androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
- スキャフォールド ロールを
ThreePaneScaffoldRole
のエイリアスに変更します。(I65bd1) - スキャフォールド ロールの基本クラスを作成(I4784d)
AnimatedPane
のコンテンツから不要なパラメータを削除(Ibc73b)collectWindowSizeAsState
の名前を変更し、代わりに未加工の値を返します(I480f4)
バージョン 1.0.0-alpha02
2023 年 11 月 29 日
androidx.compose.material3:material3-adaptive:1.0.0-alpha02
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
、androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
バグの修正
AnimatedPane
が使用されていない場合にペインが切り替わらない問題を修正(d88f181)
バージョン 1.0.0-alpha01
2023 年 11 月 15 日
androidx.compose.material3:material3-adaptive:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
Material3 のアダプティブ条件 API:
Material3 アダプティブ ペイン スキャフォールド ディレクティブ API:
Material3 アダプティブ ペイン スキャフォールド API:
- ペイン スキャフォールドの基本 API
Compose Material3 バージョン 1.4
バージョン 1.4.0-alpha17
2025 年 7 月 2 日
androidx.compose.material3:material3-*:1.4.0-alpha17
がリリースされました。バージョン 1.4.0-alpha17 には、これらの commit が含まれています。
新機能
- ボタン グループのアニメーションを更新し、押されたときではなくクリックされたときにアニメーションの 75% までアニメーション化するようにしました。(593942a、b/423596967)
バグの修正
- レイアウト計算中にカルーセル アイテムが大きな要素のサイズを超えることがあり、ウィジェット全体が切り取られる問題を修正しました。(I1c3d7、b/397489534)
- 開始と終了のシフト オフセットが重複するカルーセルをスクロールしたときに
beforeContentPadding
を超えてジャンプする問題を修正しました。(c3d5f3a、b/420618979) SwipeToDismiss
の有効化動作を更新し、現在の状態ではなく確定状態を監視するようにしました。コンポーネントが閉じられた状態に落ち着いた場合にのみアンカーの動作が無効になるという既存の動作を復元します。(3844e07、b/425006844)ExposedDropdownMenu
のポップアップ メニューをキーボード入力で開けるようになりました。また、編集可能なバリエーションでキーボードからメニューにアクセスできるようになりました。(46ead03)
バージョン 1.4.0-alpha16
2025 年 6 月 18 日
androidx.compose.material3:material3-*:1.4.0-alpha16
がリリースされました。バージョン 1.4.0-alpha16 には、これらの commit が含まれています。
新機能
- 中央揃えのヒーロー カルーセル コンポーネントを追加しました(I6f6d3)
API の変更
- XR が垂直ツールバーをオーバーライドする(Ia1604)
CarouselState
にプログラムによるスクロール関数を追加しました(I12f8e)ModalWideNavigationRail
のComponentOverride
を追加(I4f440)WideNavigationRail
にComponentOverride
を追加しました(I6354f)HorizontalFloatingToolbar
用にComponentOverride
を作成(I51116)ShortNavigationBar
用にComponentOverride
を作成(I30e24)confirmValueChange
へのSwipeToDismissBoxState
参照が非推奨になりました。代わりに、SwipeToDismissBox
API のonDismissed
コールバックを活用してください。(Iee780)- カルーセル コンポーザブルに userScrollEnabled パラメータを追加しました。(I1d4d2)
- カルーセルの
currentItem
をCarouselState
から確認できるようになりました。(Ie87e9)
バグの修正
FloatingToolbar
に渡された FAB の任意のシェイプの影が正しく適用されない問題を修正しました。(Icdcc9、b/423336922)- すべてのカルーセルで、デフォルトでカルーセルのセマンティック ロールが使用されるようになりました。(I7af12)
LaunchedEffect
を介してスライダーの状態が更新されたときに、サムが正しく移動しない問題を修正しました。(Id9f31、b/302774166)
バージョン 1.4.0-alpha15
2025 年 5 月 20 日
androidx.compose.material3:material3-*:1.4.0-alpha15
がリリースされました。バージョン 1.4.0-alpha15 には、これらの commit が含まれています。
API の変更
MotionTheme.LocalMotionScheme
(コンポジション ローカル)を追加しました。これにより、currentValueOf(MotionTheme.LocalMotionScheme)
を使用してCompositionLocalConsumerModifierNodes
からテーマ モーション スキームにアクセスできます。(I014b1)- 固定色のロールがない
ColorScheme
コンストラクタは非推奨になりました。固定ロールを含むコンストラクタに移行してください。(Iad0ee) - M3 Text コンポーネントで
TextAutoSize
がサポートされるようになりました。(I7f524) - 分割ボタンのサイズ バリアントを構築するための API を追加し、サンプルを追加します。(Ice30b)
バグの修正
- エッジ ツー エッジが有効になっている場合に
Snackbar
とFloatingActionButton
が正しく配置されない問題を修正しました。Scaffold で、これらのコンポーネントに水平方向のインセットが正しく適用されるようになりました。(Ib7c30、b/244400727) BottomSheet
モーションを完全に展開された状態から部分的に展開された状態に修正します。BottomSheet
は、非表示または折りたたみ時にMotionScheme
の高速効果を使用し、展開時にデフォルトの空間効果を使用するようになりました。(Ifa46f、b/416063171)- サーフェス コンテナロールのない
ColorScheme
コンストラクタは非表示としてマークされ、使用は推奨されなくなりました。(Ia7237) - より柔軟に対応できるように、例外をスローしていた
CircularWavyProgressIndicator
Size.minDimension > 0
要件を削除しました。(Ic9418、b/377531195) Text(AnnotatedString)
のハイパーリンクは、デフォルトでマテリアル スタイルになりました。(I78288、b/339843816)RoundedPolygon
のtoShape()
関数が Path をキャッシュに保存し、異なるサイズで複数のcreateOutline
呼び出しが行われたときに問題が発生する問題を修正しました。(I4026d)
バージョン 1.4.0-alpha14
2025 年 5 月 7 日
androidx.compose.material3:material3-*:1.4.0-alpha14
がリリースされました。バージョン 1.4.0-alpha14 には、これらの commit が含まれています。
API の変更
AppBarRow
と同じように動作するが、列にレイアウトされたコンテンツを対象とする新しいAppBarColumn
コンポーザブルを追加しました。(Iaf6bd)AppBarRow
に最大項目数を追加しました。これは、トップ アプリバーのマテリアル仕様を正しく実装するために必要です。(I92ce4)TooltipScope
にアンカーのlayoutCoordinates
を取得するメソッドを追加しました。開発者はこの新しいメソッドを使用してアンカー境界layoutCoordinates
を取得し、キャレットを含む適切なシェイプを作成できるため、drawCaret
メソッドを非推奨にします。(Ia2e12、b/329470609)- 日付選択ツールに
java.time
のサポートを追加: java.time オブジェクト(初期LocalDate
、YearMonth
など)を受け入れるrememberDatePickerState/rememberDateRangePickerState
オーバーロードを導入しました。また、LocalDate
やYearMonth
などの型を使用して値を取得/設定する状態オブジェクトに拡張関数を追加しました。API 26 以降または脱糖が必要です。(I70f29、b/266202516、b/281859606) - 中央から始まるトラックでスライダーを使用できるようにする
CenteredTrack
コンポーザブルを追加(I5b1d6)
バグの修正
- Wavy Progress Indicators のパフォーマンスを強化: Linear タイプでは読み込みが約 8.5% 速くなり、割り当てが約 11% 減少しました。Circular タイプでは、大幅にスピードが約 47% 向上し、割り当てが約 39% 減少しました。(I595d8)
バージョン 1.4.0-alpha13
2025 年 4 月 23 日
androidx.compose.material3:material3-*:1.4.0-alpha13
がリリースされました。バージョン 1.4.0-alpha13 にはこれらの commit が含まれています。
API の変更
isAppearanceLightStatusBars
とisAppearanceLightNavigationBars
が Android 専用のパラメータとしてModalBottomSheetProperties
に再導入されました。(Id4bc0)- 境界外に収まるアイテムのオーバーフローを処理する
AppBarRow
コンポーザブルを追加します。(I742bd) - 日付入力モードに切り替えるときにフォーカスをリクエストするための
DatePicker
API とDateRangePicker
API を更新しました。requestFocus
ブール値パラメータを、FocusRequester
を受け取る省略可能なfocusRequester
パラメータに置き換えました。(I14b69) - デフォルトのクリック可能アイテムと切り替え可能アイテムから修飾子とインタラクション ソースを削除します。代わりに実装の詳細として使用します。(I95ed6)
- 画面に収まらないほどボタンが多い場合に、
ButtonGroup
がプルダウン メニューにオーバーフローするように更新しました。(I7b88b)
バグの修正
- BottomSheet が、現在のオフセットよりも小さい場合に上部のインセットを使用するようになりました。これにより、ユーザーは展開動作のトップ インセットを指定できます。
BottomSheetDefaults.windowInsets
にWindowInsets.safeDrawing.Top
が含まれるようになりました。(I0ab67、b/321877275、b/336962418、b/342093067) - チップの先頭アイコン/アバターと末尾アイコンが追加または削除されたときに、フェード/スライドの開始/終了アニメーションを有効にしました。これは主に選択可能なチップ(フィルタ、入力)にメリットがありますが、一般的に適用されます。(I9af21)
LookaheadScope
が原因で RTL スライダーの動作が壊れている問題を修正しました。(Ieb152、b/408118041)- システム UI が非表示の状態でスクロールすると Bottom
AppBar
がクラッシュする問題を修正(Ic6140、b/405996228)
バージョン 1.4.0-alpha12
2025 年 4 月 9 日
androidx.compose.material3:material3-*:1.4.0-alpha12
がリリースされました。バージョン 1.4.0-alpha12 には、これらの commit が含まれています。
API の変更
ModalBottomSheetProperties
から Android 固有のパラメータを削除しました(Iab97f、b/362539765)- ドラッグ ハンドル サイズのデフォルトの関数オーバーロードを導入(I0ed0d)
- 新しいレイアウト タイプをサポートする新しい
NavigationSuiteScaffold
関数とNavigationSuiteScaffoldLayout
関数を追加し、オプションのプライマリ アクション コンテンツのサポートを追加します。(Ib262a、b/353144478) ButtonGroup
の fill パラメータでModifier.weight
を非推奨にしました。塗りつぶしなしでバージョンを追加します。(Id32bb)xSmall-
とxLarge-
IconButton コンポーネントのデフォルトの名前をextra
に変更(Ib6e0f)- 新しいレイアウト タイプをサポートするために、新しい関数
NavigationSuite
、NavigationSuiteItem
、NavigationSuiteColors
を追加しました。(I203d6) - 新しい
NavigationSuiteTypes
を追加し、それらのレイアウト選択肢を含む新しいnavigationSuiteType
関数を追加します(If68f9)
バグの修正
ColorScheme.contentColorFor
がsurfaceDim
をonSurface
にマッピングするようになりました。(I8891a)- 入力フィールドにプログラムで設定された日付が反映されない問題を解決するため、
DateInputTextField
の実装を更新しました。(I6c8d1、b/401143451) - ナビゲーション レールとワイド ナビゲーション レールの TalkBack フォーカス順序を修正しました(I6cf6f、b/407048224)
バージョン 1.4.0-alpha11
2025 年 3 月 26 日
androidx.compose.material3:material3-*:1.4.0-alpha11
がリリースされました。バージョン 1.4.0-alpha11 には、これらの commit が含まれています。
API の変更
- ボタンと切り替えボタンのデフォルト オブジェクトのコンポーザブル プロパティの大文字と小文字を更新しました。コンテナの高さに応じて、推奨されるコンテンツのパディング、シェイプ、アイコンのサイズ、アイコンの間隔、テキスト スタイルに関するメソッドを
ToggleButtonDefaults
とButtonDefaults
に追加します。(Iea69e) FloatingToolbar
からサポートが終了した試験運用版の関数と定数を削除しました。(I8f339)- Elevation コンポーネントが共通のインターフェースを共有し、パブリック コンストラクタとプロパティを持つようになりました。(Ibb172)
ButtonGroupScope
にanimateWidth
修飾子を追加します。これは、ボタン グループの子を正しくアニメーション化するために、ボタン グループの子とともに使用する必要があります。(Ia3bb6)
バグの修正
- フローティング ツールバーのパディングを修正し、折りたたみ時の視覚的なバランスを確保しました。また、大きなコンテンツの柔軟性を改善しました。(I06c00)
バージョン 1.4.0-alpha10
2025 年 3 月 12 日
androidx.compose.material3:material3-*:1.4.0-alpha10
がリリースされました。バージョン 1.4.0-alpha10 には、これらの commit が含まれています。
API の変更
TabRowDefaults.tabIndicatorOffset
のサポートが終了し、TabIndicatorScope.tabIndicatorOffset
に置き換えられました。(Ib36b3)- ボタンのデフォルトの小さいコンテンツ パディングのタイプミスを修正しました。(I19bfe)
TabRow
とScrollableTabRow
のサポートを終了し、それぞれプライマリ バリアントとセカンダリ バリアントに置き換えました。プライマリ タブとセカンダリ タブの行のパフォーマンスが向上し、仕様に準拠する精度が高まりました。(I918e2)rememberSliderState
とrememberRangeSliderState
を追加しました。(I8e384)SliderState
にshouldAutoSnap
を追加しました。自動スナップ メカニズムを制御します。無効にすると、カスタム アニメーションに役立つ場合があります。(I07745)- スクロール可能なタブ行のタブの最小幅がパラメータになりました。プライマリ タブとセカンダリ タブの行のバリエーションは試験運用版ではなくなりました。(If6f15、b/226665301)
- クラス
ExitAlwaysFloatingToolbarScrollBehavior
を公開し、コンポジションなしで作成できるようにしました。(Ibf31c)
バージョン 1.4.0-alpha09
2025 年 2 月 26 日
androidx.compose.material3:material3-*:1.4.0-alpha09
がリリースされました。バージョン 1.4.0-alpha09 には、これらの commit が含まれています。
API の変更
- デフォルトの状態の
DragHandle
の設定フィールドの名前を変更し、押された状態とドラッグされた状態を分離し、デフォルトのサイズを公開します。(I787b9) TowRowsTopAppBar
API の更新。expanded
ラムダ パラメータを削除し、展開時と折りたたみ時の高さに個別のパラメータを追加しました。(Idd677、b/306697446、b/229134133、b/268068946)
バグの修正
- 下部のアプリバーがタッチガイド サービス(TalkBack など)を監視するようになりました。
TalkBack
)をサービスがオンのときは常に表示します。(I4b34d)
バージョン 1.4.0-alpha08
2025 年 2 月 12 日
androidx.compose.material3:material3-*:1.4.0-alpha08
がリリースされました。バージョン 1.4.0-alpha08 には、これらの commit が含まれています。
新機能
TimePicker
、TimeInput
、または切り替え可能なバージョンで使用できるTimePickerDialog
API を追加しました。(Id2d83)新しい検索バー API:
- 折りたたまれた検索バーと展開された検索「ビュー」が別々のコンポーザブルになりました。
SearchBar
は、折りたたまれた状態の検索バーを表します。ExpandedFullScreenSearchBar
とExpandedDockedSearchBar
は、展開された状態の検索バーを表します。これらは新しいウィンドウで開きます。SearchBarState
: 検索バーの状態を制御します。- インセットの処理とスクロール動作を追加する
TopSearchBar
SearchBarState
を使用するInputField
の新しいオーバーロード(Ie0723、b/261496232、b/283311462、b/350916229、b/352872248)
API の変更
- 押下時のアイコンボタンの角の形状のモーフィングをサポート。(I21843)
- テキスト フィールドのデコレータ/デコレーション ボックス API が試験運用版ではなくなりました。(I31d95)
ButtonGroup
の接続バリアントのサンプルとデフォルトを追加しました。(I5c8ce)NavigationSuiteScaffold
とNavigationSuiteScaffoldLayout
の最後のパラメータを状態パラメータにします。(I9cc7b)
バグの修正
FloatingToolbars
にカスタム ユーザー補助アクションを追加しました。これにより、ユーザー補助サービスはすべてのFloatingToolbar
バリエーションを展開または折りたたむことができるようになりました。FAB 搭載バージョンでは FAB に適用され、FAB なしバージョンではメイン コンテンツに適用されます。(I26420)FloatingToolbars
は、タッチガイド サービス(TalkBack)をオンにすると、ツールバーが常に展開されて表示されます。(I02172)Float.NaN
が進行状況として渡された場合に、進行状況インジケーターと読み込みインジケーターで発生するクラッシュを修正しました。(I4fa96、b/352364576)
バージョン 1.4.0-alpha07
2025 年 1 月 29 日
androidx.compose.material3:material3-*:1.4.0-alpha07
がリリースされました。バージョン 1.4.0-alpha07 にはこれらの commit が含まれています。
新機能
- 新しい API を使用して、チェックボックスの外観をより柔軟にカスタマイズできるようになりました。この API は、チェックマークとチェックボックスの枠線がどのようにレンダリングされるかをより詳細に制御できる Stroke パラメータを提供します。(I65a88)
- 2 行のトップ アプリバーを作成するための、Medium および Large アプリバーのカスタマイズ可能な代替手段である
TwoRowsTopAppBar
API を追加しました。デベロッパーは、折りたたみ時と展開時の両方でタイトルとサブタイトルのコンテンツを制御できるようになりました。また、各状態の高さをカスタマイズすることもできます。(I0be3c、b/306697446、b/229134133、b/268068946)
API の変更
- 試験運用版の
BottomAppBar
バリエーションの名前をFlexibleBottomAppBar
に変更し、コンテンツの配置と高さをより細かく制御できるようにしました。(Iaa448) - Button Group のデフォルト オブジェクトのプロパティの名前を
CapitalCase
に更新しました。animateFraction
の名前を、それが表す動作をより正確に反映したものに更新します。(I545cd) - 押下操作でアニメーション形状を可能にする一般的なボタンのオーバーロードを追加しました。キャッシュに保存されたボタンの形状を追加しました。(I5ec20)
FloatingToolbarScrollBehavior
を指定することで、FAB を含むFloatingToolbar
がスクロールに反応する方法を制御できるようになりました。中央の端に配置されたツールバー(上部中央や下部中央など)では、スクロール動作を使用してスクロール時にコンポーネント全体を非表示にすると、すっきりとした外観になります。また、この方法では、expanded
フラグを使用して折りたたむ場合に発生する可能性のある、FAB が中央からずれることも防ぐことができます。(I33f67)- 試験運用版の
TopAppBar
API を更新し、タイトルとサブタイトルの配置を設定する際にカスタムのTopAppBarTitleAlignment
ではなくAlignment.Horizontal
を使用するようにしました。(I70ca2) SliderState#onValueChange
が公開され、ユーザーがより詳細に管理できるようになりました(I104eb)- ナビゲーション コンポーネントのアニメーションを可能にするため、
NavigationSuiteScaffoldState
を導入します。また、状態パラメータを持つNavigationSuiteScaffold
とNavigationSuiteScaffoldLayout
のオーバーロードも導入します。(I6a8c9、b/328674235)
バグの修正
IconButtonColors
クラスとIconToggleButtonColors
クラスをIconButtonDefaults.kt
からIconButton.kt
に戻します。(I3c233)
外部からの協力
SliderState#isDragging
が公開されました。(I8458a)
バージョン 1.4.0-alpha06
2025 年 1 月 15 日
androidx.compose.material3:material3-*:1.4.0-alpha06
がリリースされました。バージョン 1.4.0-alpha06 にはこれらの commit が含まれています。
動作の変更
- コンテンツがディスプレイ カットアウトと重ならないように、マテリアル コンポーネントがデフォルトで考慮するインセットのグループに
displayCutout
を追加しました。これは、インセット対応コンポーネントがディスプレイ カットアウトの周囲でどのように動作するかに影響する動作の変更です。これには、インセット対応のマテリアル 3 コンポーネントのWindowInsets
パラメータのデフォルト値と、マテリアル 2 とマテリアル 3 の両方でコンポーネントの Defaults オブジェクトに指定されたWindowInsets
値が含まれます。この変更によって望ましくない動作が発生する場合は、コンポーネントごとにWindowInsets
パラメータを手動で指定します。(I43ee9、b/362508045)
API の変更
TopAppBar
API の更新。サブタイトル付きの Medium および Large の上部アプリバーの名前を*FlexibleTopAppBar
に変更します。色のバリエーションを 1 つのTopAppBarDefault.topAppBarColors()
関数に統合し、提供されたサブタイトル コンポーザブルに適用されるsubtitle
色パラメータを追加しました(I41b65)Arrangement.Vertical
を優先してWideNavigationRailArrangement
API を削除(Id0341)- 新しい
VerticalSlider @Composable
を追加します。(I2bfba) - カスタムの外部トラックの角とトラック アイコンを指定できる新しいトラック
@Composable
を追加しました。(I436a4) - 単一のコンテナの色ではなく
FloatingToolbarColors
オブジェクトを使用するように、フローティング ツールバー API を更新します。(I9a054) - 新しい試験運用版のアノテーション
ExperimentalMaterial3ComponentOverrideApi
を追加して使用(Ia1eaf) Modifier.indicatorLine
は、クリッピングを処理するテキスト フィールドのシェイプを受け取るようになりました。(I8c5f3、b/380704151)- 試験運用版の
FloatingAppBar
関数の名前をFloatingToolbar
に変更しました(I1dbf8) - スクロール可能なコンテナに追加して、しきい値を超えるスクロール動作に基づいてフローティング ツールバーの展開状態を更新できる新しい
floatingToolbarVerticalNestedScroll
を追加しました。(I6d65f) - フローティング操作ボタン(FAB)がアタッチされたフローティング ツールバーを作成するための新しい API を導入しました。この API は柔軟なカスタマイズ オプションを提供し、ツールバーを水平または垂直に配置したり、ツールバーの先頭または末尾に FAB を配置したりできます。(I9e350)
バグの修正
TalkBack
がオンのときにスナックバーが閉じる際に自己アナウンスするユーザー補助の問題を修正(/I9db53)
外部からの協力
- foundation の
BasicTooltip
と material3 のBasicTooltip/Tooltip
を共通化しました。(Ifc2e6)
バージョン 1.4.0-alpha05
2024 年 12 月 12 日
androidx.compose.material3:material3-*:1.4.0-alpha05
がリリースされました。バージョン 1.4.0-alpha05 には、これらの commit が含まれています。
API の変更
- 読みやすさを向上させるため、列挙型の
WideNavigationRailState.current/target
値の型を置き換えました(I2d6ab) - バイナリ互換性のために、
SplitButton
で Shape API をデータクラスからクラスに変更(I53812) onDismissRequest
パラメータを含むツールチップ API を追加しました。これにより、ユーザーがツールチップの外側をクリックしたときに何が起こるかをメーカーが決定できるようになりました。この新しいパラメータを含まない古い API のサポートを終了しました。(I99aef)opticalCentering
の命名をhorizontalCenterOptically
に変更します。修飾子を内部用にしました。パディング パラメータを最大開始オフセットと最大終了オフセットに置き換えました。(I0b904)WideNavigationRailState
を現在値/目標値に変更し、ブール値を使用するように列挙型を削除します。(Idfa29、b/356039090)NavigationBarItemComponentOverride
を追加しました。(I3a06a)
バグの修正
- コンテンツを最後までスクロールしたときに確実に色が変わるように、上部と下部のアプリバーの動作を修正しました。(Idc4e8、b/293665988)
- トップ アプリバーとボトム アプリバーのスクロール動作関数が、再コンポーズ間でより適切に動作するように、記憶された動作を返すようになりました。(I0fdbe、b/207957336)
- 修飾子パラメータが、ドラッグ動作やセマンティクスなどの内部修飾子の前に適用されるのではなく、後に適用されるようになりました。これにより、修飾子が適用される順序に影響します。(I8d83f)
- サイズを変更しても、開いた状態のボトムシートは開いたままになります。(I2870b、b/324934884)
- ウィンドウ プロパティのステータスバーとナビゲーション バーのフラグを正しくルーティング。(Ie674d、b/362539765)
- ドキュメントに記載されているように、修飾子パラメータをスキャフォールドのルートに移動します。これにより、実装が M2 と一致します。(I0235e、b/372311595)
外部からの協力
DatePickerDialog
関数を共通化しました。(I7dced)
バージョン 1.4.0-alpha04
2024 年 11 月 13 日
androidx.compose.material3:material3-*:1.4.0-alpha04
がリリースされました。バージョン 1.4.0-alpha04 にはこれらの commit が含まれています。
動作の変更
- aosp/3212478 で導入された
iconButtonColors
、iconToggleButtonColors
、outlinedIconButtonColors
、outlinedIconToggleButtonColors
、outlinedIconToggleButtonBorder
の色の変更を元に戻します。元に戻した動作をiconButtonVibrantColors
などの新しい関数セットに移動し、返される高コントラスト カラーを強調しました。(Iffd8d)
新機能
VerticalDragHandle
コンポーネントを導入(I6c770)
API の変更
DismissibleModalWideNavigationRailDefaults
をModalWideNavigationRailDefaults
に変更しました。(I8e877)NavigationBarComponentOverrides
を追加しました。(I8a3f3)NavigationRailComponentOverride
を追加しました。(I83e13)- レールの折りたたみ/展開を処理する
WideNavigationRailState
を導入し、ModalWideNavigationRail
を閉じられるようにして、DismissibleModalWideNavigationRail
を削除します。(I88568) - 切り替えボタンのデフォルトに xSmall、medium、large、xLarge のサイズのデフォルトを追加しました。(Ie95d1)
- ボタンのデフォルトに xSmall、medium、large、xLarge のサイズのデフォルトを追加しました。(If8b6d)
バグの修正
- 仕様に沿って、フィルタチップの末尾のアイコンの色をプライマリから
OnSurfaceContainer
に更新しました。仕様に沿って、すべてのチップの枠線の色をアウトラインからアウトライン バリエーションに更新しました。(I68bd4)
バージョン 1.4.0-alpha03
2024 年 10 月 30 日
androidx.compose.material3:material3-*:1.4.0-alpha03
がリリースされました。バージョン 1.4.0-alpha03 には、これらの commit が含まれています。
API の変更
- 密度を含む
SheetState
コンストラクタは、位置と速度のしきい値に置き換えられました。(Ifd16e) - 更新されたポジショニング ロジックを含む
rememberTooltipPositionProvider
を追加しました。rememberPlainTooltipPositionProvider
とrememberRichTooltipPositionProvider
を非推奨にしました。(Ie66e2) - 追加の
ModalBottomSheetProperties
により、ステータスバーとナビゲーション バーの色をカスタマイズできます。デフォルトでは、システム ダークモードのステータスではなく、コンテンツの色に基づいて更新されます。(Ib874e、b/362539765) - 日付選択ツールの入力操作を改善しました。入力モードの場合、日付テキスト フィールドにフォーカスが移動し、すぐにテキストを入力できるようになりました。この変更により、
requestFocus
パラメータがDatePicker
とDateRangePicker
に追加されます。false
を渡すことで、フォーカスを防止できます。(I12d09、b/286399710、b/340102743) - Shape オブジェクトに図形のデフォルトをキャッシュします。切り替えボタンのデフォルトの形状を
@Composable
にします。バリアントが同じトークン ファイルを指しているため、デフォルトでシェイプが 1 つのシェイプに折りたたまれます。(Iaa014)
バグの修正
- Scaffold
contentPadding
の動作を最適化し、contentPadding
が変更されたときに常に本体コンテンツが再コンポーズされるのを回避(I8c8e2、b/373904168) TextFieldLabelScope
progress
の名前をlabelMinimizedProgress
に変更しましたTextFieldLabelPosition
Default
の名前をAttached
に変更しました。インターフェース メンバーが削除されました。(If75c6)- 入力モードの
DatePicker
で、検証エラーによってコンポーネントの高さが変更される問題を修正しました。(I2e229、b/280462363) - コントロールキーが押されたときに、マテリアル スライダーの値が変更されるようにします。(I1c442)
バージョン 1.4.0-alpha02
2024 年 10 月 16 日
androidx.compose.material3:material3-*:1.4.0-alpha02
がリリースされました。バージョン 1.4.0-alpha02 には、これらの commit が含まれています。
API の変更
DatePickerState
またはDateRangePickerState
を介して直接ロケールを設定する場合に、DatePicker
とDateRangePicker
全体でロケールが一貫して使用されるように、日付選択ツールを更新しました。Locale を状態に直接設定する場合は、タイトルと見出しのテキストが適切にローカライズされるようにする必要があります。デフォルトのテキストは、デフォルトのプラットフォームの Locale に従って適用されるためです。(I37073、b/326490763、b/321657276)SheetState.isAnimationRunning
が公開されるようになりました。(I9a3d7)DatePickerColors
が、テーマの Typography テキスト スタイルで定義された競合する色よりも優先されるようになりました。また、この更新では、日付選択ツール関数のcolor
パラメータの位置が調整され、ヘッダーとタイトルのテキストの色をカスタマイズするためのcontentColor
パラメータが導入されています。(I30d03、b/347031394)SplitButton
の名前をSplitButtonLayout
に変更し、SplitButton
のカラー バリエーション API を削除します。バリエーションは、SplitButtonDefaults
によって提供されるボタン バリエーションを再利用することで実現されます。(I44c36)ModalBottomSheet
にsheetGestureEnabled
パラメータが追加されました(I856cb、b/288211587)standardMotionScheme
とexpressiveMotionScheme
の名前を標準と表現力に変更しました。どちらの関数も、MotionScheme.standard()
とMotionScheme.expressive()
を呼び出すことでMotionScheme
コンパニオン オブジェクトからアクセスできるようになりました。(Iceccf)- プレーン ツールチップとリッチ ツールチップに
maxWidth
パラメータを追加しました。デフォルトでは、プレーン ツールチップは 200 dp、リッチ ツールチップは 320 dp のデザイン仕様になります。(I30ce9)
バグの修正
DatePicker
とDateRangePicker
は、状態のdisplayedMonthMillis
を介して設定されたときに、表示される月を正しく更新するようになりました。(If9e47、b/333414302)ModalBottomSheet
のコンテンツがステータスバーから離れるようになりました。(I5114c、b/321877275、b/336962418、b/342093067)- [ボトムシート] IME キーボードを先に閉じられるように、コールバックの優先度を
PRIORITY_DEFAULT
に戻します。(I447fb) - 選択可能な最小年が将来の年に設定されている場合に
DatePicker
とDateRangePicker
でクラッシュする問題を修正(I78656、b/319395747) - 更新された
SelectableDates
インスタンスが適用されたときに UI が更新されるように、日付選択ツールに関する問題を修正(Iad59a、b/290135807、b/339898760)
バージョン 1.4.0-alpha01
2024 年 10 月 2 日
androidx.compose.material3:material3-*:1.4.0-alpha01
がリリースされました。バージョン 1.4.0-alpha01 には、これらの commit が含まれています。
動作の変更
- ライブラリは
material-icons-core
への依存関係を追加しなくなったため、プロジェクトがそれに依存している場合は、build.gradle[.kts]
ファイルでその依存関係を明示的に追加する必要があります。(I735ff、b/349894318) NavigationBarItem
とNavigationRailItem
のアクティブなラベルの色がonSurface
からsecondary
に変更され、ユーザビリティと色のコントラストが改善され、システム内の整合性が向上しました(Ibc297)。以前の動作に戻すには、デフォルトの色をコピーしてselectedTextColor
をMaterialTheme.colorScheme.onSurface
に変更します。- マテリアル 3 コンポーネントで、新しい
MotionScheme
を使用してモーションを定義できるようになりました。(Ie0f93) - 不確定の円形進行状況インジケーターのモーション変更(I3c07e)
- 色のコントラストを改善するために、
OutlinedIconButtonColors
とOutlinedIconToggleButtonColors
を更新します。(I2743d) FilledIconToggleButtonColors
とFilledTonalIconToggleButtonColors
のコンテナとコンテンツの色を更新しました。(Ic5d0f)OutlinedButton
の枠線の色をoutline
からoutlineVariant
に更新しました。(057f00)
API の変更
reverseLayout
で設定されたコンテンツをより適切にサポートするため、TopAppBar
のenterAlwaysScrollBehavior
関数に省略可能なreverseLayout
パラメータを追加しました。(I4e0e5)SegmentedButton
がcontentPadding
引数をサポートするようになりました。(I5ad91、b/358414376)PullToRefreshState
にisAnimating
のデフォルト実装がなくなりました(I6a593)TextFieldState
を使用する MaterialTextField
とOutlinedTextField
のオーバーロードを新たに追加しました。TextFieldDecorator
と互換性のある装飾ボックス API を追加しました。(If13a1)- テキスト フィールドの
labelPosition
を制御するパラメータを追加しました。alwaysMinimize
を使用すると、フィールドがフォーカスされていない場合でも、テキスト フィールドにラベルとプレースホルダを同時に表示する UI パターンを使用できます。(I1ef2c) - パスワード入力フィールドにマテリアル
SecureTextField
とOutlinedSecureTextField
を追加しました。(I7e22d) - テキスト フィールドのラベルにスコープを追加して、アニメーションの進行状況をクエリできるようにしました。(If5ec8)
- ツールチップに
MotionEvent.CLASSIFICATION_DEEP_PRESS
のサポートを追加します。(I62e6a) TimePickerState
のisAfternoon
が、インターフェースの var ではなく拡張 val になり、isPm
に名前変更されました(I89a97)- 強調されたタイプスケールをサポートするようにタイポグラフィ クラスを更新。(Ifa13c)
ModalWideNavigationRail
API を追加し、ModalExpandedNavigationRail
API の名前をDismissibleModalWideNavigationRail
に変更しました。(Ic9118)FloatingAppBarScrollBehavior
を更新し、screenOffset
を自動的に計算して@Composable
を必要としないようにしました。(Idf349)- デフォルト オブジェクトの名前を修正するための
LoadingIndicator
API の更新。PullToRefresh
にLoadingIndicatorElevation
定数を追加しました。(I1d72b) - デフォルト オブジェクトの名前を修正するための
LoadingIndicator
API の更新。PullToRefresh
にLoadingIndicatorElevation
定数を追加しました。(I1d72b) LinearWavyProgressIndicator
とCircularWavyProgressIndicator
の不定バリエーションにamplitude
パラメータとwaveSpeed
パラメータを追加しました。(I2a0c5)- アイコン切り替えボタンの形状を、押された状態またはチェックされた状態に基づいて変更することをサポートします。(Ibc781)
- 強調されたタイプスケールをサポートするようにタイポグラフィ クラスを更新。(Ifa13c)
SplitButton
の形状は、デフォルト状態と押下状態に基づいて変化します。TrailingButton
API で同じカスタマイズが可能になったため、AnimatedTrailingButton
API を削除しました(I95066)- コンテンツのスクロール時などに、FAB の表示と非表示をアニメーション化する修飾子を追加しました。(I8338d)
- サンプルで使用する
ButtonGroupDefaults
に、接続されたボタン グループの形状と間隔を追加しました。(I68e30) - 分割ボタンで末尾のボタンに水平パディングを追加し、開始と終了の角の差から計算される光学的な中央揃えを有効化(I122e2)
- コンポーネントのモーションのスキームを設定できる新しい Material
MotionScheme
を導入しました。スキームはMaterialTheme
で設定します。(Id50c2)
バグの修正
Scaffold
子コンポーザブルに正しいフォーカス移動インデックスを適用します。順序はtopBar
、bottomBar
、fab、content、snackbar です。(I5936b)- 特定のロケールと形式スケルトンで、一部の日付要素(月の名前など)が大文字で始まらないという
DatePicker
とDateRangePicker
の問題を修正しました。(I1430f) - FAB と FAB メニュー コンポーネントのトークンを統合しました(パディングとテキストの軽微な視覚的更新)。(Ib57f3)
ModalBottomSheet
がセマンティック トラバーサルの順序で先頭になり、その後にスクリムが続きます。(I436f9、b/358594665)- エッジ ツー エッジ モードでナビゲーション ピルの下をスクロールしたときに、ボトムアプリバーが完全に消えない問題を修正(I3ee21)
Compose Material3 バージョン 1.3
バージョン 1.3.2
2025 年 4 月 9 日
androidx.compose.material3:material3-*:1.3.2
がリリースされました。バージョン 1.3.2 にはこれらの commit が含まれています。
バグの修正
ListItem
の固有の高さの計算が修正され、レイアウトで適切な量のスペースが予約されるようになりました。NavigationBarItem
ラベルの過剰なパディングを削除し、仕様に合わせて正しく配置します。- RTL モードでの
TabRow
レイアウトを修正します。
バージョン 1.3.1
2024 年 10 月 30 日
androidx.compose.material3:material3-*:1.3.1
がリリースされました。バージョン 1.3.1 にはこれらの commit が含まれています。
バグの修正
DatePicker
とDateRangePicker
は、状態のdisplayedMonthMillis
を介して設定されたときに、表示される月を正しく更新するようになりました。(If9e47、b/333414302)- 選択可能な最小年が将来の年に設定されている場合に
DatePicker
とDateRangePicker
でクラッシュする問題を修正(I78656、b/319395747) - 更新された
SelectableDates
インスタンスが適用されたときに UI が更新されるように、日付選択ツールに関する問題を修正(Iad59a、b/290135807、b/339898760) - ボトムシートで使用されるコールバックの優先度を
PRIORITY_DEFAULT
に変更し、IME キーボードを先に閉じられるようにします。(I447fb)
バージョン 1.3.0
2024 年 9 月 4 日
androidx.compose.material3:material3-*:1.3.0
がリリースされました。バージョン 1.3.0 にはこれらの commit が含まれています。
1.2.0 以降の重要な変更
1.3.0 の主な機能
新しいマテリアル デザイン 3 のコンポーネント
- カルーセル
HorizontalMultiBrowseCarousel
とHorizontalUncontainedCarousel
既存のマテリアル デザイン 3 コンポーネントの機能強化。
- [
ModalBottomSheet
] が U+ で予測型「戻る」をサポートするようになりました(Iccf32、b/281967264、b/304850357) - [
SearchBar
] が U+ で予測型「戻る」をサポートするようになりました(I657f8) - ナビゲーション ドロワー(
ModalDrawerSheet
とDismissibleDrawerSheet
)が、オプトインとして U+ で予測型「戻る」をサポートするようになりました(Ie5b0b) DropdownMenu
でカスタムカラー、シェイプ、高度、境界線がサポートされるようになりました。(I8e981、b/289554448、b/301887035、b/283654243)- スライダーを更新し、ギャップと停止インジケーターを追加してアクセシビリティを改善しました。(I3058e)
- ギャップと停止インジケーターを追加してアクセシビリティを向上させるため、
ProgressIndicator
を更新しました。(I21451) - リッチ ツールチップのデフォルトのキャレットを追加しました。アンカー
LayoutCoordinates
を指定してカスタム キャレットを描画するサポートを追加しました。(Ifd42c) 互換性を破る変更 - 新しいプルダウン更新 API:
- Dp 単位ではなく分数値を使用するように
PullToRefreshState
を簡素化しました。 isRefreshing
状態はPullToRefreshState
ではなくユーザーによって制御されます。- ネストされたスクロール接続を
PullToRefreshState
から分離しました。これは、新しいPullToRefreshBox
またはModifier.pullToRefresh
によって処理されます。 - この更新は、以前の試験運用版 API の互換性を破る変更です。(I0adeb、b/314496282、b/317177684、b/323787138、b/324573502、b/317177683) 視覚的な変更
- Dp 単位ではなく分数値を使用するように
- 十分な色のコントラストを確保するため、フォーカス状態のオーバーレイを 0.1f に更新しました。(I7ea77)
lightColorScheme
とdarkColorScheme
のサーフェスと背景色のデフォルトを小幅に調整。(I9db52)- 新しいテキスト以外のコントラストの仕様に準拠するように、スライダーと
ProgressIndicator
の色を更新しました。(I26807) - コンポーネントで
SurfaceContainer
バリアントが使用されるようになりました。Surface
とTonalElevation
を使用して色を正式に計算していたコンポーネントは、デフォルトでSurfaceContainer
ロールを使用するようになりました。このロールは色調の高度の影響を受けません。(b/304584161) - サーフェスとサーフェス コンテナのベースライン ロールがわずかに調整され、ライトテーマとダークテーマでより多くの色合いが提供されるようになりました。(I677a5)
- 試験運用版の API を安定版に昇格させました。
- パフォーマンスの改善
バージョン 1.3.0-rc01
2024 年 8 月 21 日
androidx.compose.material3:material3-*:1.3.0-rc01
がリリースされました。バージョン 1.3.0-rc01 には、これらの commit が含まれています。
バグの修正
ModalBottomSheet
がセマンティック トラバーサルの順序で先頭になり、その後にスクリムが続きます。(I436f9、b/358594665)
バージョン 1.3.0-beta05
2024 年 7 月 24 日
androidx.compose.material3:material3-*:1.3.0-beta05
がリリースされました。バージョン 1.3.0-beta05 には、これらの commit が含まれています。
- Android N と O で
BottomSheet
のコンテンツが欠落したり、切り取られたりする問題を修正しました(a10a2d) TalkBack
がサムの周りにフォーカス インジケーターを適切に表示できるように、スライダーのセマンティクス境界を拡大しました。(0b5a1d)
バージョン 1.3.0-beta04
2024 年 6 月 26 日
androidx.compose.material3:material3-*:1.3.0-beta04
がリリースされました。バージョン 1.3.0-beta04 には、これらの commit が含まれています。
バージョン 1.3.0-beta03
2024 年 6 月 12 日
androidx.compose.material3:material3-*:1.3.0-beta03
がリリースされました。バージョン 1.3.0-beta03 には、これらの commit が含まれています。
外部からの協力
- 共通ソースセットから
androidx.compose.material3.DropdownMenu
を利用できるようにします。(If62c0)
バージョン 1.3.0-beta02
2024 年 5 月 29 日
androidx.compose.material3:material3-*:1.3.0-beta02
がリリースされました。バージョン 1.3.0-beta02 にはこれらの commit が含まれています。
API の変更
Modifier.pullToRefreshIndicator
が高度をサポートするようになりました。Pull To Refresh API を更新して、ラムダではなくブール値で有効にできるようにしました。PullToRefreshBox
でコンテンツの配置をサポート(I75679)TooltipScope
を sealed インターフェースにし、TooltipBox
と Label で使用する内部実装を作成します。(I3833e)CarouselItemScope
に 2 つの新しい修飾子(maskClip
とmaskBorder
)を追加し、任意のカルーセル アイテムにシェイプと枠線を簡単に追加できるようにしました(Id67a1)TimePickerState
がインターフェースになり、時間を設定できるようになりました(I88546)- リンクのスタイル設定用の API を更新しました。
TextLinkStyles
をTextStyle
に移動し、マテリアルからTextDefaults
を削除しました。(I5477b)
バグの修正
ModalBottomSheet
ステータスバーとナビゲーション バーのアイコンがダークモードのステータスに対応するようになりました。(Ie1fe7、b/338342149)ModalBottomSheet
スクリムにシートを閉じるセマンティクスを追加しました。(0e61cb、b/328801864)
外部からの協力
- 共通ソースセットから
androidx.compose.material3.AlertDialog
を利用可能にする(Ia33f5) - 共通ソースセットから
ModalBottomSheet
を利用できるようにします(Id7cc7)
バージョン 1.3.0-beta01
2024 年 5 月 14 日
androidx.compose.material3:material3-*:1.3.0-beta01
がリリースされました。バージョン 1.3.0-beta01 には、これらの commit が含まれています。
API の変更
CaretProperties
ではなくDpSize
を使用します。CaretProperties
を削除しています。CaretScope
をTooltipScope
に名前変更します。(Id9a76)- テキスト内のマテリアル テーマのリンクを取得するための API を更新しました。具体的には、テーマ付きの
LinkAnnotations
を構築し、テーマ付きのリンクで HTML を解析するためのメソッドをTextDefaults
から削除しました。代わりに、リンクのスタイル設定を可能にするTextLinkStyles
クラスを Text コンポーザブルのパラメータとして追加しました。(I31b93)
バージョン 1.3.0-alpha06
2024 年 5 月 1 日
androidx.compose.material3:material3-*:1.3.0-alpha06
がリリースされました。バージョン 1.3.0-alpha06 にはこれらの commit が含まれています。
互換性を破る変更
新しいプルダウン更新 API:
- Dp 単位ではなく分数値を使用するように
PullToRefreshState
を簡素化しました。 isRefreshing
状態はPullToRefreshState
ではなくユーザーによって制御されます。- ネストされたスクロール接続を
PullToRefreshState
から分離しました。これは、新しいPullToRefreshBox
またはModifier.pullToRefresh
によって処理されます。 - この更新は、以前の試験運用版 API の互換性を破る変更です。(I0adeb、b/314496282、b/317177684、b/323787138、b/324573502、b/317177683)
- Dp 単位ではなく分数値を使用するように
API の変更
RippleConfiguration#isEnabled
が削除され、LocalRippleConfiguration
が null 許容になりました。リップルを無効にするには、isEnabled = false
でRippleConfiguration
を指定する代わりに、LocalRippleConfiguration
にnull
を指定します。(I22725)- エッジ ツー エッジが有効な場合、
ModalBottomSheet
がステータスバーの上にスクリムをより正確に描画します。モーダル ボトムシートのコンテンツでウィンドウ インセットを使用できるようになり、ナビゲーション バーの上にコンテンツを表示できるようになりました。ModalBottomSheet
パラメータwindowInsets
がcontentWindowInsets
に名前変更され、インセットを適用する場所を指定するようになりました。これらはウィンドウ ロジックに関連付けられなくなりました。contentWindowInsets
型がWindowInsets
を返す関数に変更され、新しいウィンドウ内で解決できるようになりました。(I39630、b/274872542、b/300280229、b/290893168) PrimaryScrollableTabRow
とSecondaryScrollableTabRow
がサブコンポジションではなくカスタム レイアウトを使用するようになり、パフォーマンスが向上します。(I991e0)- テキスト リンクに、通常のスタイル、ホバー、フォーカスに加えて、押下状態のスタイル設定オプションが追加されました。
TextDefaults
メソッドには、これをサポートするためのpressedStyle
引数が追加されました。(Ic473f、b/139312671)
バグの修正
- ナビゲーション ドロワーのドラッグ アンカーが
drawerContent
の幅と一致するようになりました。(Ibc72f、b/245355396) - ラベルの
OutlinedTextField
上部パディングでシステム フォントサイズが考慮されるようになりました。(Idc781) CalendarLocale
のパッケージの場所を修正しました。(Ifa235)- [予測型「戻る」] 予測型「戻る」アニメーションを更新し、補間曲線(0.1、0.1、0、1)を使用(I2591a)
バージョン 1.3.0-alpha05
2024 年 4 月 17 日
androidx.compose.material3:material3-*:1.3.0-alpha05
がリリースされました。バージョン 1.3.0-alpha05 にはこれらの commit が含まれています。
新機能
SearchBar
とDockedSearchBar
に、テキスト フィールド パラメータを受け取る新しいオーバーロードが追加されました。これにより、検索バーの残りの部分とは別にテキスト フィールドのスタイルを設定したり、カスタム テキスト フィールドを渡したりできます。現在の実装のテキスト フィールドはSearchBarDefaults.InputField
として利用できるようになりました。(I50c73、b/275074248、b/278773336、b/326627700)- 必要に応じて目盛りをカスタマイズできるように、ラムダ
drawTick
が公開 API に追加されました(I0c048)
API の変更
- テキスト リンクに、通常のスタイル設定、ホバー、フォーカスに加えて、押下状態のスタイル設定オプションが追加されました。(I5f864、b/139312671)
- アイテムがクリップされているマスク Rect を公開するように
CarouselItemInfo
を更新しました(I785d8) - Material 3 の公開 API から
BasicTooltipState
を削除しました。Foundation のBasicTooltip
が安定するまで、その機能はTooltipState
と統合されます。(Icda29) LinkAnnotation
を構築し、HTML タグ付き文字列を解析して、リンクにMaterialTheme
を適用するメソッドを含むTextDefaults
オブジェクトを追加しました(I98532、b/139312671)ExposedDropdownMenuBoxScope
でサブクラスが許可されなくなりました。公開されたドロップダウン メニューにMenuAnchorType
が追加されました。これはmenuAnchor
に渡され、a11y のサポートが向上します。これは、非推奨になったExposedDropdownMenu
にfocusable
を渡す代わりに使用する必要があります。menuAnchor
に、enabled
の状態を制御する新しいパラメータが追加されました。(I55ee6、b/257209915、b/308840226)- 無効になっている場合の
OutlinedButton
の枠線の色を修正しました。有効状態を受け取るButtonDefaults.outlinedButtonBorder("enabled")
オーバーロードを追加しました。(Ie650b、b/318461363) - クライアントがアイテムのサイズに関する情報を取得できるように、新しい
CarouselItemInfo
クラスを追加しました。(I9070c) - サーフェス コンテナのない
ColorScheme
コンストラクタは非推奨になりました。サーフェス コンテナを含むコンストラクタに移行してください。(I35c11) - [アウトライン]
TextFieldDefaults
ContainerBox
の名前をContainer
に変更しました。(Ie8d3b)
バグの修正
sheetSwipeEnabled
が false の場合、BottomSheetScaffold
がネストされたスクロールからスクロールしなくなりました。(I5e1c1、b/306464779)IconButtonSamples.kt
で一部のExperimentalMaterial3Api
OptIn アノテーションを削除しました。(I111d1)
バージョン 1.3.0-alpha04
2024 年 4 月 3 日
androidx.compose.material3:material3-*:1.3.0-alpha04
がリリースされました。バージョン 1.3.0-alpha04 には、これらの commit が含まれています。
新機能
- マテリアル 3 のカルーセルの試験運用版 2 つ(
HorizontalMultiBrowseCarousel
とHorizontalUncontainedCarousel
)を追加しました(I88d64) - Compose M3 ナビゲーション ドロワー(
ModalDrawerSheet
とDismissibleDrawerSheet
)を更新し、U+ での予測型「戻る」をオプトインでサポート(Ie5b0b) - 再コンポーズを回避するために、色合いをラムダとして渡せる新しい API を Icon に追加しました。(I5b5a2)
- トップ アプリバー API で、固定セクションと折りたたみ可能セクションの両方でカスタムの高さをサポートするようになりました。(Ib8b0c、b/323403446)
API の変更
- トップ アプリバー API で、固定セクションと折りたたみ可能セクションの両方でカスタムの高さがサポートされるようになりました。コンテンツをスクロールするときに、1 行の上部アプリバーが過剰に再コンポーズされる問題を修正しました。フォント/ディスプレイ設定が大きいデバイスで
MediumTopAppBar
がタイトルを切り詰める問題を解決しました。(Ib8b0c、b/323403446、b/300953236、b/286296147、b/330410290、b/308540676) SegmentedButton
と関連する API が安定版になりました(I8a158)SwipeToDismissBox
、SwipeToDismissBoxDefaults
、SwipeToDismissBoxState
、SwipeToDismissBoxValue
が安定版としてマークされました。(I5f000)- 非推奨の
DismissDirection
列挙型とDismissValue
列挙型、API を削除しました。(I89ccd) - カルーセルの
CarouselState
コンパニオン オブジェクトに試験運用版のタグを追加しました。(I94154) LocalMinimumInteractiveComponentEnforcement
を非推奨とし、代わりにLocalMinimumInteractiveComponentSize
を導入しました。(I7a7ac)SearchBarColors
コンストラクタが公開されました。(I769ca)SwipeToDismissBox
にgesturesEnabled
パラメータを追加しました。(Idc59f、b/324170119)- 非推奨および試験運用版としてマークされていたテキスト フィールド API を削除しました。(I1305f)
バージョン 1.3.0-alpha03
2024 年 3 月 20 日
androidx.compose.material3:material3-*:1.3.0-alpha03
がリリースされました。バージョン 1.3.0-alpha03 には、これらの commit が含まれています。
ビジュアルの互換性を破る変更
- 十分な色のコントラストを確保するため、フォーカス状態のオーバーレイを 0.1f に更新しました。(I7ea77)
lightColorScheme
とdarkColorScheme
のサーフェスと背景色のデフォルトを小幅に調整。(I9db52)
新機能
ExposedDropdownMenu
をカスタマイズするためのパラメータを追加しました。特に、メニューにfocusable
パラメータ(デフォルトはtrue
)が追加されました。編集可能なテキスト フィールドを扱う場合は、このパラメータをfalse
に設定する必要があります。(I4184c、b/323694447、b/278609042)
API の変更
ScaffoldSubcomposeInMeasureFix
フラグが削除されました。(Ie2a4b)NavigationRailItemColors
が@Immutable
としてマークされるようになりました。(If6112、b/327660613)NavigationBarItemColors
が@Immutable
としてマークされるようになりました。(I42a30、b/298064514)- スライダー トラック コンポーザブルのパラメータの順序を変更しました。(I9f315)
ExposedDropdownMenu
がPopup
を使用して実装されるようになりました。キーボードで入力すると、編集可能なテキスト フィールドを含むフォーカス可能なメニューが閉じられる場合があることを除き、動作は同じです。
バグの修正
- サーフェスとサーフェス コンテナのベースライン ロールがわずかに調整され、ライトテーマとダークテーマでより多くの色合いが提供されるようになりました。(I677a5)
- 新しいテキスト以外のコントラストの仕様に準拠するように、スライダーと
ProgressIndicator
の色を更新しました。(I26807) - 十分な色のコントラストを確保するため、フォーカス状態のオーバーレイを 0.1f に更新しました。(I7ea77)
lightColorScheme
とdarkColorScheme
のサーフェスと背景色のデフォルトを小幅に調整。(I9db52)
バージョン 1.3.0-alpha02
2024 年 3 月 6 日
androidx.compose.material3:material3-*:1.3.0-alpha02
がリリースされました。バージョン 1.3.0-alpha02 には、これらの commit が含まれています。
API の変更
- スライダーの状態を再び安定させます。
State.onValueChangeFinished
を再び val にします。onValueChangeFinished
をrememberUpdatedState
でラップします。(I82ab2、b/322269951) - ナビゲーション コンポーネントで、新しい
SurfaceContainer
ロールが使用されるようになりました。DrawerDefaults
に、個別のstandardContainerColor
属性とmodalContainerColor
属性が用意されました。DrawerDefaults.ModalDrawerElevation
を0.dp
に変更(I7fbac) state.onValueChangeFinished
をvar
に変更するため、Slider
の状態から@Stable
を削除します。(Ied34a、b/322269951)ModalBottomSheet
とStandardBottomSheet
のアニメーション仕様がTweenSpec
になり、スプリング アニメーションから更新されました。これにより、オーバーシュートが目に見える問題が解決されます。密度がない非推奨のSheetState
コンストラクタが削除されました。(I7babc、b/285847707)
バグの修正
- コンポーネントで
SurfaceContainer
バリアントが使用されるようになりました。Surface とTonalElevation
で色を計算していたコンポーネントは、デフォルトでSurfaceContainer
の役割を使用するようになりました。これは色調の高さの影響を受けません。(b/304584161) ElevatedFilterChip
の選択されていない無効なコンテナの色が黒になるバグを修正しました。(I400e6、b/322407043)- 進行状況が 0 の場合の不確定形式の進行状況インジケーターを修正(Id6582)
- RTL レイアウトでの
Slider
とRangeSlider
に関する問題を修正しました(Iab0e1) - 浮動小数点数の丸め処理は不正確になる可能性があるため、スライダーの範囲計算に
SliderRangeTolerance
を追加しました。(Ic918a、b/324934900) DateRangePicker
をネストする場合や、大きなフォントの小さな画面で日付選択ツールを表示する場合に、DatePickerDialog
のボタンが表示されることを確認します。(Ie4758、b/325107799、b/277768544)Menu
で、コンテナの色にSurfaceContainer
ロールが使用されるようになりました。MenuDefaults.TonalElevation
を0.dp
に変更(I135b7)TextField
で、コンテナの色にSurfaceContainerHighest
ロールが使用されるようになりました。(I4dced)- 昇格されたチップが
SurfaceContainerLow
ロールを活用するようになりました(I7cd2f) DatePicker
コンテナの色がSurfaceContainerHigh
になりました。DatePickerDefaults.TonalElevation
を0.dp
に変更(Ida753)- ボトムシートのコンテナの色とドラッグ ハンドルの色を更新します。(I72a0a)
RichTooltip
コンテナの色がSurfaceContainer
になりました。(Ia8b45)SearchBar
コンテナの色がSurfaceContainerHighest
になりました。SearchBarDefaults.TonalElevation
を0.dp
に変更(I88604)SurfaceContainerHighest
色ロールを活用するために、スイッチの無効なトラック / アイコンと未選択のトラック / アイコンを更新します。(I7687a)AlertDialog
コンテナの色がSurfaceContainerHigh
になりました。(Ie0433)BottomAppBar
コンテナの色がSurfaceContainer
になりました。TopAppBar
onScroll
の色がSurfaceContainer
になりました。(I41630)ElevatedCard
コンテナの色がSurfaceContainerLow
になりました。FilledCard
のコンテナの色SurfaceContainerHighest
。(I35141)ElevatedButton
コンテナの色がSurfaceContainerLow
になりました。選択されていないFilledIconButton
のコンテナの色がSurfaceContainerHighest
になりました。(I792c9)TimePicker
コンテナの色と時計の文字盤の色の役割をSurfaceContainerHighest
に更新します。(I43b93)
バージョン 1.3.0-alpha01
2024 年 2 月 21 日
androidx.compose.material3:material3-*:1.3.0-alpha01
がリリースされました。バージョン 1.3.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- Compose M3
ModalBottomSheet
を更新して U+ で予測型「戻る」をサポート(Iccf32、b/281967264、b/304850357) - U+ での予測型「戻る」をサポートするように Compose M3
SearchBar
を更新しました(I657f8) - スライダーを更新し、ギャップと停止インジケーターを追加してアクセシビリティを改善しました。(I3058e)
- ギャップと停止インジケーターを追加してアクセシビリティを向上させるため、
ProgressIndicator
を更新しました。(I21451) - リッチ ツールチップのデフォルトのキャレットを追加しました。新しいリッチ ツールチップ API では、アンカー
LayoutCoordinates
を指定してカスタム キャレットを描画できるようになりました。(Ifd42c)
動作の変更
- Material コンポーネントが新しいリップル API を使用するように移行され、
RippleTheme
をクエリしなくなりました。
API の変更
- 楽しい
drawStopIndicator
が公開されました。(I3f59f) DatePicker
のformatWithSkeleton
関数を内部としてマーク(Ic65dc)DropdownMenu
でカスタムカラー、シェイプ、高度、境界線がサポートされるようになりました。(I8e981、b/289554448、b/301887035、b/283654243)- API で
MutableInteractionSource
を公開する Material3 コンポーネントが更新され、デフォルトがnull
の null 許容型のMutableInteractionSource
を公開するようになりました。セマンティクスの変更はありません。null を渡すことは、MutableInteractionSource
をホイストしないことを意味し、必要に応じてコンポーネント内で作成されます。null に変更すると、一部のコンポーネントでMutableInteractionSource
が割り当てられなくなり、他のコンポーネントでは必要なときにのみインスタンスが遅延作成されるため、これらのコンポーネント全体のパフォーマンスが向上します。これらのコンポーネントに渡すMutableInteractionSource
を使用していない場合は、代わりに null を渡すことをおすすめします。独自のコンポーネントでも同様の変更を行うことをおすすめします。(I41abb、b/298048146) RippleConfiguration
とLocalRippleConfiguration
を追加して、固定値を使用してコンポーネントごと / サブツリーごとにリップルをカスタマイズできるようにしました。たとえば、制御できないコンポーネントの色を変更したり、コンポーネントのリップルを無効にしたりする場合などです。ほとんどの場合、デフォルト値を使用する必要があります。これらの API は、個々のコンポーネントや限定されたサブツリーをカスタマイズするためのエスケープ ハッチです。より広範囲の変更やカスタム デザイン システムの場合は、代わりにcreateRippleModifierNode
を使用して独自のリプルを構築する必要があります。(I7b5d6、b/298048146)- 非推奨の
rememberRipple
に代わる新しいリップル API を material3 に追加します。また、material3 コンポーネントを非推奨のrememberRipple
/RippleTheme
API を使用するように戻すための一時的なCompositionLocal
、LocalUseFallbackRippleImplementation
も追加します。これは次の安定版リリースで削除される予定です。カスタムRippleTheme
を提供している場合にのみ、一時的な移行支援として使用してください。(I34cbc、b/298048146)
バグの修正
- パフォーマンスを改善するため、
ModalBottomSheet
内のサブコンポジションを削除しました。LookaheadScope
との組み合わせで特定のシナリオでModalBottomSheet
がクラッシュすることがある問題を修正しました。(I2a198) - パフォーマンスを改善するため、
BottomSheetScaffold
内のサブコンポジションを削除しました。LookaheadScope
との組み合わせで特定のシナリオでBottomSheetScaffold
がクラッシュする問題を修正しました。(Ie6401) - バッジの配置が、右上隅を基準としてアンカー コンテンツの中央に近づくように調整されます。(I18a28)
DateRangePicker
のユーザー補助機能の問題を修正しました。この問題では、月と年のテキスト タイトルが、スクリーン リーダー、スイッチ アクセス、音声アクセスのユーザーに対して操作可能として伝えられていました。(I2ac55)mediumTopAppBarColors
パラメータの順序に関するバグを修正しました。(Ibe64a)
バージョン 1.2
バージョン 1.2.1
2024 年 3 月 6 日
androidx.compose.material3:material3-*:1.2.1
がリリースされました。バージョン 1.2.1 にはこれらの commit が含まれています。
バグの修正
- スライダーの状態を再び安定させます。
State.onValueChangeFinished
を再び val にします。onValueChangeFinished
をrememberUpdatedState
でラップします。(Ie8fd0、b/322269951) state.onValueChangeFinished
をvar
に変更するため、Slider
の状態から@Stable
を削除します。(I82ba1、b/322269951)NavigationBar
カスタム色がデフォルトからコピーされる問題を修正しました。(80a779、b/326894020)ExposedDropdownMenu
の回帰を修正し、再びフォーカスできるようにしました(3fcec1、b/323694447)- ボタンの色のキャッシュ保存に関する問題を修正しました(3e5bbc、b/327371655)
バージョン 1.2.0
2024 年 2 月 7 日
androidx.compose.material3:material3-*:1.2.0
がリリースされました。バージョン 1.2.0 に含まれる commit については、こちらをご覧ください。
既知の問題
PrimaryTabRow
で、パフォーマンス改善の変更の一環として、View-Compose 相互運用レンダリングのバグが導入されました。この問題を回避するには、TabRowDefaults.PrimaryIndicator
でTabRow
を使用します。
1.1.0 以降の重要な変更
新しいマテリアル デザイン 3 コンポーネント
- プルして更新
- セグメント化されたボタン
既存のマテリアル デザイン 3 コンポーネントの機能強化。
- ボトム アプリバー(RTL 配置、スクロール時に自動的に非表示)
- タブのビジュアル アップデート
- バッジ(配置の更新)
試験運用版 API を安定版に昇格させました。
パフォーマンスの向上
- 詳しくは、こちらのブログ投稿をご覧ください。
バージョン 1.2.0-rc01
2024 年 1 月 24 日
androidx.compose.material3:material3-*:1.2.0-rc01
がリリースされました。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
mediumTopAppBarColors
パラメータの順序に関するバグを修正しました。(Ibe64a)CardDefaults.cardColors
の1.2.0-beta02
で導入された、containerColor
パラメータ値に基づいてcontentColor
が更新されないバグを修正しました。(Iee041、b/319671246)1.2.0-beta02
で導入されたdisabledContentColor
のバグを修正し、小さな最適化を追加しました。(I6dda1、b/318428829)
バージョン 1.2.0-beta02
2024 年 1 月 10 日
androidx.compose.material3:material3-*:1.2.0-beta02
がリリースされました。バージョン 1.2.0-beta02 に含まれる commit については、こちらをご覧ください。
既知のバグ
IconButtonColors
のバグにより、デフォルトでは、ユーザーが指定したcontentColor
ではなく、LocalContentColor
のアルファ(0.38f)にdisabledContentColor
が割り当てられます。この問題を回避するには、disabledContentColor
を明示的に設定します。この問題は次のリリースで修正される予定です。
API の変更
- Plain
Tooltip
API のツールチップ キャレットを有効にする機能を追加しました。(Ibf767) SwipeToDismissState
、rememberSwipeToDismiss
、SwipeToDismissValue
はすべて_SwipeToDismissBox_
を含むように名前が変更されます。(I68d6d)
バグの修正
ListItem
の終了パディング値を仕様に沿って修正しました。(Ibd68b、b/305342674)- アウトライン カードのアウトラインの色が
OutlineVariant
に正しくマッピングされるようになりました。(I75480、b/310979715) - ダイナミック カラーがシステム定義のカラーロールから取得されるようになりました。これにより、アクセシビリティの高いコンテンツのコントラストが改善され、動的カラーがマテリアル仕様にさらに近づきます。(I1de96)
android:enableOnBackInvokedCallback="true"
の場合、Android T/13 以降でModalBottomSheet
の戻る操作の処理を修正しました。(I728dc、b/306196110)
バージョン 1.2.0-beta01
2023 年 12 月 13 日
androidx.compose.material3:material3-*:1.2.0-beta01
がリリースされました。バージョン 1.2.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
TabIndicatorScope
を試験運用としてマークしました。(I45c88)- ツールチップの非推奨の試験運用版 API を削除しました。(I438cb)
- 新しい
TabRow
オーバーロードがサブコンポジションを使用しないように変更します。これにより、カスタム修飾子を使用してTabRow
インジケーターを構築する方法が異なります。(Ife741) DismissDirection
API とDismissValue
API を非推奨にします。これらはSwipeToDismissValue
に統合されました。この値はSwipeToDismissBox
の位置と方向の両方を示します。DismissState.progress
が0.0
と1.0
の間のFloatRange
としてマークされるようになりました。非推奨のDismissState
Saver と Constructor が削除されました。SwipeToDismiss
コンポーネント、状態、デフォルト オブジェクトが試験運用として再マークされました。(Ib54f2)
バグの修正
PullToRefresh
のデフォルトのインジケーターが、塗りつぶしの三角形ではなく、開いた矢印になりました。(I67be3)
バージョン 1.2.0-alpha12
2023 年 11 月 29 日
androidx.compose.material3:material3-*:1.2.0-alpha12
がリリースされました。バージョン 1.2.0-alpha12 に含まれる commit については、こちらをご覧ください。
API の変更
RangeSlider
が Kotlin の範囲(カスタムのFloatRange
値クラスではなく、0f..1f
)を使用します。SnapFlingBehavior.kt
でも Kotlin の範囲が使用されるようになりました。(I025cb)- Modifier ファクトリ関数を
@Stable
としてマークしました。(Ib109f)
バージョン 1.2.0-alpha11
2023 年 11 月 15 日
androidx.compose.material3:material3-*:1.2.0-alpha11
がリリースされました。バージョン 1.2.0-alpha11 に含まれる commit については、こちらをご覧ください。
新機能
PullToRefreshContainer
とPullToRefreshState
を実装します。これらは、Material3 でのプルして更新の実装をまとめて提供します。(I16456、b/261760718)
API の変更
SwipeToDismissBox
、DismissDirection
、DismissValue
を試験運用版としてマークしました。(I517b0)SwipeToDismiss
をSwipeToDismissBox
に変更しました。background
をbackgroundContent
に、dismissContent
を末尾のcontent
ラムダに名前変更(I7f4d3)ChipElevation
とSelectableChipElevation
のコンストラクタを公開します。(Ie0c48、b/308432421)ModalBottomSheetProperties
を追加しています。securePolicy
をModalBottomSheetProperties
に移動します。isFocusable
とshouldDismissOnBackPress
をModalBottomSheetProperties
に追加しました。これらの新しいブール値は、モーダル ボトムシートが IME イベントを処理する方法を決定するのに役立ちます。(Iea56f、b/278216859)RangeSlider
とSlider
の状態を更新して、initialOnValueChange
、初期接頭辞、適切な kdoc を削除しました。(I57d30)ChipBorder
クラスとその関連関数呼び出しを非推奨とし、代わりにBorderStroke
を直接使用することを推奨します。(I89cc2)- Foundation Tooltip API が
@ExperimentalFoundationApi
になりました。(I30b0b) TabRow
とScrollableTabRow
は非推奨ではなくなりました。新しいプライマリ バリエーションとセカンダリ バリエーションは試験運用とみなされます。(I0def6)- フィルタ チップと入力チップで
BorderStroke
が直接使用されるようになりました。(I07a8d) SegmentedButton
がBorderStroke
を直接使用するようになりました。(I89b9b)- 汎用
AlertDialog
関数の名前をBasicAlertDialog
に変更し、以前の関数を非推奨にしました。(Idbe52) SwipeToDismiss
API の名前をSwipeDismiss
に変更し、新しいSwipeDismiss
API を安定版に昇格させます。(I14cbe)- ツールチップ API に
tonalElevation
とshadowElevation
を追加しています。また、TooltipBox
、PlainTooltip
、RichTooltip
の API が誤って安定版としてリリースされたため、試験運用版に戻しました。(If0f66、b/293939035) - 試験運用版のチップ API を安定版に昇格させました。(Iea2c3)
- マテリアル 3 のクリック可能なカードから
@ExperimentalMaterial3Api
アノテーションを削除しました。(I88dbf)
バグの修正
- ネストされた Lookahead レイアウトと Lazy レイアウトを含む特定のシナリオで
SwipeToDismiss
がクラッシュする問題を修正しました。(Ica8d1、b/297226562)
バージョン 1.2.0-alpha10
2023 年 10 月 18 日
androidx.compose.material3:material3-*:1.2.0-alpha10
がリリースされました。バージョン 1.2.0-alpha10 に含まれる commit については、こちらをご覧ください。
API の変更
Badge
とBadgedBox
が安定版になりました。(I67f16、b/261565132)securePolicy
をModalBottomSheet
のパラメータとして追加し、ユーザーがWindowManager.LayoutParams.FLAG_SECURE
の動作を定義できるようにします。(Icdac8、b/296250262)progress
をラムダとして受け取るLinearProgressIndicator
とCircularProgressIndicator
のオーバーロードを追加しました。これらは以前のバージョンよりもパフォーマンスが向上しています。(I824e6、b/295616656)StandardSizeClasses
をAllSizeClasses
に名前変更します。(I8cb07)- ウィンドウ サイズクラスの計算関数を組み合わせます。(Iad935)
バグの修正
- 表示されている月が許容される年の範囲の端にあるときに、ナビゲーション矢印ボタンをすばやくクリックすると
DatePicker
がクラッシュする問題を修正しました。(I46f36、b/290954897、b/297002119) - [ナビゲーション レール/バー] インジケーターの透明色をサポート。(Ie0a9b、b/267289987)
バージョン 1.2.0-alpha09
2023 年 10 月 4 日
androidx.compose.material3:material3-*:1.2.0-alpha09
がリリースされました。バージョン 1.2.0-alpha09 に含まれるコミットについては、こちらをご覧ください。
API の変更
ModalNavigationDrawer
とDismissibleNavigationDrawer
を移行して、新しいAnchoredDraggable
API を使用するようにしました。DrawerState
のanimateTo
が開閉メソッドで置き換えられ、オフセットが状態オブジェクトではなく float として公開されるようになりました。オフセットにはcurrentOffset
を介して直接アクセスできます。(I0a72c)DatePickerState
とDateRangePickerState
を直接作成するためのコンポーズ可能ではない関数が追加されました。これらの関数は、必要に応じてコンポーザブルなrememberDatePickerState
関数とrememberDateRangePickerState
関数の代わりに使用できます。(I70326、b/291524052)- 固定とスクロール可能な
TabRows
に、プライマリとセカンダリのバリエーションが追加されました。これらは、Material3 で定義されている色とインジケーターの動作に正しくマッピングされます。 PrimaryScrollableTabRow
とSecondaryScrollableTabRow
がスクロール状態を公開するようになりました。(Iec8f5、b/260572337)- デベロッパーが設定してシートの最大幅を指定できる新しい
sheetMaxWidth
パラメータを追加しました。画面の幅全体に広がるシートが必要な場合は、パラメータに Dp.Unspecified を渡すことができます。(Ifb7c9、b/266697696) - 非推奨メソッドとして
PlainTooltipBox
API とRichTooltipBox
API を再度追加しました。(I246fa)
バグの修正
DatePicker
が、日付パターン(YY など)に変換しても同じ日付スケルトンを持つDatePickerFormatter
で初期化されるとクラッシュする問題を修正しました。(I01f29)
バージョン 1.2.0-alpha08
2023 年 9 月 20 日
androidx.compose.material3:material3-*:1.2.0-alpha08
がリリースされました。バージョン 1.2.0-alpha08 に含まれる commit については、こちらをご覧ください。
互換性を破る動作変更
ColorScheme
が変更不可になったため、個々の色の更新は効率が悪くなりましたが、色の一般的な使用は効率が向上しました。この変更の理由は、ほとんどのアプリでは個々の色を更新することが主なユースケースではないためです。これは引き続き可能ですが、以前よりも再コンポーズが多くなります。これにより、すべての Material コードで状態サブスクリプションの量が大幅に減少し、より標準的なユースケースの初期化とランタイムのコストに影響します。(Ic447d、b/297212873)- 仕様に合わせて、さまざまなインタラクション状態でのトーン エレベーションのアニメーションを削除しました。(Icdd12)
API の変更
- コンテンツがスクロールされたときに自動的に非表示にするため、
BottomAppBarScrollBehavior
をパラメータとして受け取る新しいBottomAppBar
を追加しました。また、FabPosition.EndOverlay
を追加しました。これにより、FAB をアンカーの上に配置するのではなく、スキャフォールドの下部のアプリバーに重ねて配置できます。(Iecb47) BasicTooltipBox
をベースにしたシンプルな Label コンポーネントを追加しました。このコンポーネントは、ラベルの境界外をタップしても閉じません。(I821f9)
バグの修正
- ツールチップでの
rememberSaveable
の使用を削除しました。(Icc131、b/299500338) - Scaffold が測定中に子を測定するか、配置中に子を測定するかを制御する一時的なフラグを導入しました。デフォルトでは、測定単位で測定されます。新しい動作で問題が発生した場合は、問題を報告してください。(I0b354)
- デバイスの画面幅の正しい測定値を使用して、
BottomSheet
で水平方向のエッジ ツー エッジを修正しました。(I1df0c、b/299058752) - シートを下にスワイプして閉じると
ModalBottomSheet
がonDismissedRequest
を呼び出さないバグを修正しました。(Idfdd8)
バージョン 1.2.0-alpha07
2023 年 9 月 6 日
androidx.compose.material3:material3-*:1.2.0-alpha07
がリリースされました。バージョン 1.2.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
compose material 1.6.0-alpha05
で自動ミラーリング アイコンのサポートが追加されました。自動ミラーリング アイコンの詳細については、リリースノートをご覧ください。
API の変更
SliderState
はDraggableState
を実装します(I9b116)- shape を必須パラメータに変更。シェイプ ヘルパー関数で
position
の名前をindex
に変更しました。(I34941) - パフォーマンスの改善のためにキャッシュとして使用されるマップを含めるように
DatePicker
formatWithSkeleton
を更新します。(I3195f) compose.foundation
にBasicTooltipBox
を追加し、新しいPlainTooltip
とRichTooltip
コンポーザブルでTooltipBox
を使用するようにPlainTooltipBox
とRichTooltipBox
を更新しました。(I79e1d)
バグの修正
dynamicLightColorScheme
とdynamicDarkColorScheme
は、サーフェスとsurfaceContainer
の役割に対してより彩度の高い色を返すようになりました。(I5e901)LookaheadScope
内の Scaffold 内で Subcomposition(BottomSheetScaffold
など)を使用する一部のコンポーザブルが、サイズを早すぎるタイミングで読み取ろうとする問題を修正しました。(I297b4、I871f1、b/295536718)
バージョン 1.2.0-alpha06
2023 年 8 月 23 日
androidx.compose.material3:material3-*:1.2.0-alpha06
がリリースされました。バージョン 1.2.0-alpha06 に含まれる commit については、こちらをご覧ください。
バグの修正
DropdownMenu
のoffset
の計算を修正し、x オフセットがローカル レイアウトの方向のみに依存するようにしました。また、メニューが画面の下部にあるときに y オフセットが反転しないようにしました。(Iccc74、b/294103942)DropdownMenu
のoffset
の計算を修正し、x オフセットがローカル レイアウトの方向のみに依存するようにしました。また、メニューが画面の下部にあるときに y オフセットが反転しないようにしました。(Ib87a2、b/294103942)
バージョン 1.2.0-alpha05
2023 年 8 月 9 日
androidx.compose.material3:material3-*:1.2.0-alpha05
がリリースされました。バージョン 1.2.0-alpha05 に含まれる commit については、こちらをご覧ください。
API の変更
- チェックボックスと
TriStateCheckbox
の色の更新。CheckboxDefaults.colors()
disabledUncheckedColor
はチェックボックスの枠線にのみ影響するようになりました。無効でチェックされていない場合に内部ボックスの色を設定する必要がある特殊なケースでは、目的の色の値を持つCheckboxColors
のカスタム構築インスタンスが必要です。(I77d17、b/291943198)
バージョン 1.2.0-alpha04
2023 年 7 月 26 日
androidx.compose.material3:material3-*:1.2.0-alpha04
がリリースされました。バージョン 1.2.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- 試験運用版のセグメント ボタン API(Ifc8fb)
- 区切り線に、向きを制御するパラメータが追加され、垂直方向の区切り線がサポートされるようになりました。(I4c899、b/288438593)
API の変更
- 密度依存性をコンポーネント レベルに移行しています。これは、
SwipeToDismiss
とシートベースのコンポーネントに適用されます。密度がパラメータである新しいオーバーロードを使用してください。(I1846e) - コンポーザブルへの許可された入力を指定するための追加のアノテーション(Ief234)
- セグメント化されたボタンにアイコン パラメータを追加し、セマンティクスを分割して、セグメント化されたボタンを
SelectableSegmentedButtonRow
で選択可能にして単一選択を実装し、ToggelableSegmentedButtonRow
で切り替え可能にして複数選択を実装しました。(I38740) - Divider の名前が
HorizontalDivider
に変更されました。VerticalDivider
機能を追加しました。(I5975c) - 試験運用版の Material3 API で、軽量の
FloatRange
にClosedFloatingPointRange
の使用を変更して、オートボクシングを最小限に抑えます。(I4aab5) FabPosition
の新しい Start 配置を追加しました(Ib7aea、b/170592777)
バグの修正
ModalBottomSheet
はローカル レイアウトの方向を尊重します。(Ib4f44、b/285628622)
バージョン 1.2.0-alpha03
2023 年 6 月 21 日
androidx.compose.material3:material3-*:1.2.0-alpha03
がリリースされました。バージョン 1.2.0-alpha03 に含まれる commit については、こちらをご覧ください。
動作の変更
- マテリアル 3 のタイポグラフィでは、
includeFontPadding
がデフォルトでfalse
になりました。デフォルトの行の高さのスタイルもTrim.None
とAlignment.Center
に変更され、Typography
のTextStyle
に明示的なlineHeight
(sp 単位)が追加されました。これらの値をカスタマイズする場合は、API ドキュメントをご覧ください。これらの変更について詳しくは、ブログ投稿をご覧ください。(I6266f、Icabc3)
新機能
- コンポーネントのステートフル バージョンである
RangeSlider
のオーバーロードを追加しました。現在の有効なトラック、RangeSlider
のコンポーネントの測定値、ドラッグとジェスチャーのロジックに関するすべての情報を保持するRangeSliderState
を作成しました。(I8c270) - 新しく追加された
shadowElevation
パラメータにより、検索バーでシャドウがサポートされるようになりました。(Ia5369、b/271040353) ColorScheme
が新しいSurfaceContainer
ロールをサポートするようになりました。LocalTonalElevationEnabled
コンポジション ローカルを使用して、サーフェスのトーンの標高オーバーレイを無効にできるようになりました。(Ic203c、b/277774590)
API の変更
- コンポーネント カラーのコンストラクタを開きます。(I8c4a6)
- 両方のツールチップ API にフォーカス可能なパラメータを追加し、デベロッパーがツールチップでタッチイベントを消費するかどうかを設定できるようにしました。この場合、アクセシビリティ フォーカスの自動トラバーサルが中断される可能性があることに注意してください。(Ie32d8)
- パフォーマンスとメモリ割り当てのためにアクセシビリティを最適化しました。(Iede48)
DefaultSizeClasses
を公開し、WindowSizeClasses
のStandardSizeClasses
を作成(I91838)WindowWidth/HeightSizeClass
を浮動小数点値クラスに変更(Ie686e)
バグの修正
- Scaffold の
contentWindowInsets
パラメータが、消費されたウィンドウ インセットを考慮するようになりました。これらのパラメータが指定された場合、topBar
とbottomBar
に基づくコンテンツ パディングの動作は変更されません。(I08b73、b/264601542) - 中央のトップ アプリバーの配置を修正し、長いタイトルがアクション アイコンやナビゲーション アイコンの上にレンダリングされないようにします。(I4369f、b/236994621)
- タブの位置で、コンテンツの最小幅が 24 dp になりました。これにより、タブ インジケーターのアクセス可能なタッチ ターゲットが提供されます。(Id8861)
dynamicLightColorScheme
とdynamicDarkColorScheme
のダイナミック カラー パレットで、新しいサーフェス ロールがサポートされるようになりました。(I1252e)- バッジ通知の配置を更新し、大祖父と衝突したときにクリップされないようにしました。(Idf75a)
バージョン 1.2.0-alpha02
2023 年 5 月 24 日
androidx.compose.material3:material3-*:1.2.0-alpha02
がリリースされました。バージョン 1.2.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
ModalBottomSheet
にウィンドウ インセット パラメータを追加します。windowInsets
を 0 に設定すると、ModalBottomSheet
のスクリムをステータスバーの背後に描画できるようになりました- ナビゲーションを含むシステムバーの外側に留まるようにデフォルトの
ModalBottomSheet
機能を更新 - ステータス バーのインセット処理は、エッジ ツー エッジ モードのドラッグ ハンドルによって提供されます。
BottomSheetDefaults
にはBottomSheetWindow
のウィンドウ インセットが含まれます。(I31200、b/274872542、b/272973615、b/272334475、b/268432129、b/275849044、b/275486106、b/268433162)
Indicator
を非推奨にし、M3 の仕様に合わせてPrimary
/SecondaryIndicator
を追加しました。PrimaryIndicator
はタブのコンテンツの幅と一致しますが、SecondaryIndicator
は使用可能な幅全体に広がります。SecondaryIndicator
は、サポートが終了したIndicator
と同等であり、直接置き換えることができます。(I27604)- 表示されたメニュー項目の垂直スクロール状態を制御する
DropdownMenu
またはExposedDropdownMenu
を構築する際にScrollState
を渡すオプションを追加しました。(Ia0734、b/185304441) - コンポーネントのステートフル バージョンである
Slider
のオーバーロードを追加しました。現在の有効なトラック、Slider
のコンポーネントの測定値、ドラッグとジェスチャーのロジックに関するすべての情報を保持するSliderState
を作成しました。(I124a5) - セマンティクス プロパティ
isContainer
の名前をisTraversalGroup
に変更(I121f6) - 最適化された
TextStyle.merge(...)
と完全なパラメータ リストを追加しました。(Iad234、b/246961787) TooltipState
、RichTooltipState
、PlainTooltipState
を公開インターフェースにしました。デフォルトの状態用にRichTooltipStateImpl
とPlainTooltipStateImpl
を追加しました。これらの実装された状態を取得するremember*State
関数を追加しました。TooltipSync
を削除し、TooltipDefault.GlobalMutatorMutex
に置き換えました。(I7813d)- 日付選択ツールの分割線、ナビゲーション、テキスト入力フィールドの色に関するカスタマイズ オプションを追加するため、
DatePickerColors
を更新しました。(I1a685、b/274626815) DatePickerState
とDateRangePickerState
は、rememberDatePickerState
とrememberDateRangePickerState
で取得できるデフォルト実装を備えた公開インターフェースになりました。(I71c52)DatePicker
とDateRangePicker
からdateValidator
を削除し、UI で選択可能な日付または年を制御するために状態に設定できるSelectableDates
インターフェースを導入しました。(Ic2fc6)- 安定版 API から
TimePicker
を削除しました。状態 API でさらなる変更が予定されています(I3f39a) ModalBottomSheet
は Android のみに移動しました。ModalBottomSheet
はパソコンでの使用には推奨されておらず、この機能は積極的にメンテナンスされていません。(Ib3778)
バグの修正
- アクションがダイアログの幅に収まるように積み重ねられたときに、
AlertDialog
閉じるアクションが確認アクションの下に表示されるように修正しました。この修正により、実装がマテリアル デザインの仕様に沿うようになります。(I029de、b/235454277) - 3 行のアイテムに誤ったパディングを使用していた
ListItem
のバグを修正しました。(I6e235) ModalBottomSheet
で IME キーボードを表示できるようになりました。(Idc508、b/262140644、b/268380384、b/272483584)
バージョン 1.2.0-alpha01
2023 年 5 月 10 日
androidx.compose.material3:material3:1.2.0-alpha01
と androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください。
バージョン 1.1
バージョン 1.1.2
2023 年 9 月 20 日
androidx.compose.material3:material3:1.1.2
と androidx.compose.material3:material3-window-size-class:1.1.2
がリリースされました。バージョン 1.1.2 に含まれる commit については、こちらをご覧ください。
バグの修正
- 修飾子が 2 つのコンポーザブルに誤って渡される問題を修正しました。(b/282761472)
- 23 時間で初期化された場合に
TimePickerState
が誤った時間を返す問題を修正しました。(b/278242122) - 正午と分の検証の切り替えの初期状態を修正しました。(b/269768197、b/282790635)
state.hour
が午後 11 時に対して誤った値を返す問題を修正しました。(b/282761472、b/278242122)
バージョン 1.1.1
2023 年 6 月 21 日
androidx.compose.material3:material3:1.1.1
と androidx.compose.material3:material3-window-size-class:1.1.1
がリリースされました。バージョン 1.1.1 に含まれる commit については、こちらをご覧ください。
バグの修正
- バイナリ互換性のため、
windowInset
パラメータなしでModalBottomSheet
を呼び出す処理を追加。(Ib7959) ModalBottomSheet
にウィンドウ インセット パラメータを追加します。windowInsets
を 0 に設定すると、ModalBottomSheet
のスクリムをステータスバーの背後に描画できるようになりました- ナビゲーションを含むシステムバーの外側に留まるようにデフォルトの
ModalBottomSheet
機能を更新 - ステータス バーのインセット処理は、エッジ ツー エッジ モードのドラッグ ハンドルによって提供されます。
BottomSheetDefaults
にはBottomSheetWindow
のウィンドウ インセットが含まれます。(I31200、b/274872542、b/272973615、b/272334475、b/268432129、b/275849044、b/275486106、b/268433162)
バージョン 1.1.0
2023 年 5 月 10 日
androidx.compose.material3:material3:1.1.0
と androidx.compose.material3:material3-window-size-class:1.1.0
がリリースされました。バージョン 1.1.0 に含まれる commit については、こちらをご覧ください。
1.1.0 の主な機能
新しいマテリアル デザイン 3 コンポーネント
既存のマテリアル デザイン 3 コンポーネントの機能強化。
試験運用版 API を安定版に昇格させました。
詳しくは、こちらのブログ投稿をご覧ください。
バージョン 1.1.0-rc01
2023 年 4 月 19 日
androidx.compose.material3:material3:1.1.0-rc01
と androidx.compose.material3:material3-window-size-class:1.1.0-rc01
がリリースされました。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください。
API の変更
- 安定版 API から
TimePicker
を削除しました。状態 API でさらなる変更が予定されています(I3f39a) ModalBottomSheet
は Android のみに移動しました。ModalBottomSheet
はパソコンでの使用には推奨されておらず、この機能は積極的にメンテナンスされていません。(Ib3778)
バージョン 1.1.0-beta02
2023 年 4 月 5 日
androidx.compose.material3:material3:1.1.0-beta02
と androidx.compose.material3:material3-window-size-class:1.1.0-beta02
がリリースされました。バージョン 1.1.0-beta02 に含まれる commit については、こちらをご覧ください。
API の変更
SheetState
にオプションのskipHiddenState
パラメータが追加されましたrememberStandardBottomSheetState
にオプションのskipHiddenState
パラメータが追加されましたBottomSheetScaffold
に非表示アンカーが定義されました(デフォルトでは無効)。SheetState.requireOffset
のドキュメントが更新されましたBottomSheetDefaults.MinimizedShape
の名前がBottomSheetDefaults.HiddenShape
に変更されました(I839f4、b/273870234)
バグの修正
- タッチガイドが有効になっている場合、文字盤を時間から分に切り替えないでください。(I717d0)
ModalBottomSheet
とBottomSheetScaffold
のドラッグ ハンドル セマンティクスが統合されました。(I05afb)BottomSheetScaffold
修飾子、containerColor
パラメータ、contentColor
パラメータは、コンテンツにのみ影響するようになりました。(I992cb)- シート コンテンツの
BottomSheetScaffold nestedScroll
にフリングが実装されました。(I992cb)
バージョン 1.1.0-beta01
2023 年 3 月 22 日
androidx.compose.material3:material3:1.1.0-beta01
と androidx.compose.material3:material3-window-size-class:1.1.0-beta01
がリリースされました。バージョン 1.1.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
TimePicker
コンポーザブルにレイアウト型パラメータを追加します。画面構成に応じて異なるレイアウトを使用できます(Ia0e16)SearchBarDefaults
に試験運用版のマークを付けました。(I65561)BottomSheetScaffold
にシャドウの高度を追加しました(I94e0f)- ヘッダー部分なしで日付選択ツールを表示するサポートを追加しました。日付選択ツールを作成する際に null の見出しを渡せるように API を変更しました。ヘッドレス ピッカーを表示するために、null の見出し、タイトル、
showToggleMode = false
を渡せるようになりました。(Id3f3a、b/266132421、b/267194809)
バグの修正
- 検索バーが非アクティブになると、フォーカスが自動的にクリアされるようになりました。(I22a7c、b/261444487)
DateRangePicker
を更新し、開始日と終了日が同じ日付の範囲を選択できるようにしました。(I16529、b/272882497)- フォントサイズが想定より小さい場合に、テキスト フィールドでテキスト要素が適切に配置されるようになりました。フォント設定とスクリプトによっては、アプリで数ピクセルの変化が生じる可能性があります。(I8b8d0)
- ボトムシートのセマンティック アクションにラベルが追加されました。(I277b0)
バージョン 1.1.0-alpha08
2023 年 3 月 8 日
androidx.compose.material3:material3:1.1.0-alpha08
と androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
がリリースされました。バージョン 1.1.0-alpha08 に含まれる commit については、こちらをご覧ください。
新機能
BottomSheetScaffold
とBottomSheetScaffoldState
のサポートを追加しました。(I063d4)
API の変更
DatePickerState
とDateRangePickerState
に、状態の初期作成後に日付を設定したり、タイムスタンプを null に設定して選択をリセットしたりできるようにする機能を追加しました。日付を手動で設定する場合は注意が必要です。指定された日付が前提条件を満たしていない場合、新しいsetSelection
関数は例外をスローします(ドキュメントを参照)。(Ifa645、b/268609314、b/270427389)- この状態の動作をより正確かつ柔軟に表すため、Collapsed
SheetValue
の名前をPartiallyExpanded
に変更しました。(Ia1491) ListItem
パラメータ名を _text から _content に更新しました。デフォルトのゲッターが、関連する箇所でReadOnlyComposables
になりました。(I69a25)- インタラクティブな Surface API を試験運用版から昇格させました。(I90d59、b/261561812)
バグの修正
ModalBottomSheet
のHalfExpanded
状態が正しく計算されず、シートがフローティングに見える問題を修正しました。(I45e84、b/268411386)ModalBottomSheet
のスクリムタップにconfirmValueChange
チェックを追加。(I2311a、b/270425759)- セマンティック
BottomSheet
アクションをドラッグ ハンドルに移動しました。(I158ba) ModalBottomSheet
が起動時にフォーカスをコマンドし、[戻る] ボタンを処理するようになりました。(I4d2ab)ModalBottomSheet onDismissRequest
がネストされたスクロール フリングでも処理されるようになりました。(I655c5、b/268433166)
バージョン 1.1.0-alpha07
2023 年 2 月 22 日
androidx.compose.material3:material3:1.1.0-alpha07
と androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
がリリースされました。バージョン 1.1.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
rememberTimePickerState()
に対応する時間入力のコンポーザブルを追加しました。これは、時間の入力に関するマテリアル 3 の仕様に従うものです。(Ia4fab)- 期間を選択するための Material 3
DateRangePicker
API を追加しました。(I7a6c3、b/267194809) - マテリアル 3 の入力モードに対応し、
DateRangePicker
API で期間を選択できるようになりました。(Ifdbc4) - テキスト フィールドの色について、次のようなものをカスタマイズできるようになりました。
- フォーカスやエラーの状態に基づいた、入力フィールドやプレースホルダのテキストの色。
textColor
パラメータの名前がunfocusedTextColor
に変更され、placeholderColor
の名前がunfocusedPlaceholderColor
になりました。 - 新しい
errorContainerColor
パラメータによるエラー状態に基づいた、塗りつぶしテキスト フィールドのコンテナの色。
- フォーカスやエラーの状態に基づいた、入力フィールドやプレースホルダのテキストの色。
- 表示されるプルダウン メニューのテキスト フィールドの色が、接頭辞と接尾辞の新しい API に対応できるようパラメータで更新されました。(I9c8b4、b/254284181、b/264766350)
API の変更
- Slider API の一部のバージョンを元に戻し、カスタムのサムネイルとトラックを含む新しい試験運用版の Slider の対象となっている不要な Slider オーバーロードを削除しました。
RangeSlider
の安定性が向上しました。(Ie8fbd) - チップのエレベーションの関数において、
defaultElevation
の名前をelevation
に変更しました。(I0f872) - マテリアル 3 のテキスト フィールドの API である
TextField
、OutlinedTextField
、textFieldWithLabelPadding
、textFieldWithoutLabelPadding
、outlinedTextFieldPadding
は、試験運用版ではなくなりました。(Ieb5c0、b/261561819) TimePickers
is24Hour
ではシステム設定を使用します。(I18856)- スキャフォールディングの API から試験運用版のアノテーションを削除しました。(Ibb51e、b/261565765、b/261436953)
バグの修正
ModalBottomSheet
のデフォルトの形状が常にSheetDefaults.ExpandedShape
となりました。(I0dfca)- マテリアル 3 の
DatePicker
とDateRangePicker
について、ユーザー補助機能を改善しました。(I5087e) - 最大の高さの制約が伝播されてクラッシュが発生する可能性があるバグを修正しました。(I30d8c)
- クリック可能かつ選択可能なサーフェスからセマンティック ロールを削除しました。そのロールを使用していたコンポーネントを更新し、modifier.semantics を使ってロールを設定できるようになりました。(I793d9)
バージョン 1.1.0-alpha06
2023 年 2 月 8 日
androidx.compose.material3:material3:1.1.0-alpha06
と androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
- テキスト フィールドで接頭辞と接尾辞のテキストがサポートされるようになりました。(Ia8578、b/179884561)
- マテリアル 3 の仕様に沿って時間選択ツールを表示する
TimePicker
関数を追加しました。この関数はTimePickerState
とコンビニエンス メソッドrememberTimePickerState
と組み合わせて使用します。(I71910) - 日付入力が
DatePicker
で表示モードになりました。日付選択ツールと日付入力モードとの切り替えのサポートを追加しました。(Ieeff7) RichTextTooltips
の API を追加しました。(I58ef3)ModalBottomSheet
、ModalBottomSheetDefaults
など、マテリアル 3 用モーダル ボトムシートを実装しました。また、将来的なシート コンポーネントに使用できるSheetState
とrememberSheetState
も導入しました。(I0853a、b/244189383)
API の変更
- API
showSnackbar
を安定化しました。(I195c2、b/261424370) - アシストチップと候補ワードの API を安定化しました。(Ibb67b、b/261424370)
ListItem
、ListItemDefaults
、ListItemColors
の API を非試験運用版にしました。(I7e7fa、b/261438882)SliderPositions
、SliderDefaults.Thumb
、SliderDefaults.Track
を安定化し、カスタム サムネイルとトラックを含む非試験運用版のSlider
、RangeSlider
の API を追加しました。以前のSlider
、RangeSlider
の API を非推奨にしました。(Ie5ea6、b/261566890)Modifier.tooltipAnchor()
を公開し、デベロッパーがアンカーに渡して、長押しでツールチップを表示することを示すことができるようにしました。PlainTooltipBox
の API を更新し、TooltipState
を null 許容型にせずにデフォルトを設定できるようにしました。(Ie2fb7)- 整合性のため
ProgressIndicatorDefaults.circularTrackColor
に@Composable
のマークを付けました。(Id29cc) - プロパティ ゲッター
LocalMinimuTouchTargetEnforcement
を復元し、非推奨のマークを付けてLocalMinimumInteractiveComponentEnforcement
にリダイレクトするようにしました。(I60dd5)
バージョン 1.1.0-alpha05
2023 年 1 月 26 日
androidx.compose.material3:material3:1.1.0-alpha05
と androidx.compose.material3:material3-window-size-class:1.1.0-alpha05
がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
DatePickerDialog
とユーザー補助のサポート。- カスタムのサムネイルとトラックを
RangeSlider
に追加しました。
依存関係の更新
Compose UI
とCompose Material
は Lifecycle 2.6.0 に依存するようになりました。
バージョン 1.1.0-alpha04
2023 年 1 月 11 日
androidx.compose.material3:material3:1.1.0-alpha04
と androidx.compose.material3:material3-window-size-class:1.1.0-alpha04
がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- カレンダー UI を介して単一の日付を選択するための初期
DatePicker
API。この API には引き続き変更が加えられています。(I722b9) PlainTooltipBox
を介してプレーン ツールチップのサポートを追加しました。(I0cdfb)- 検索バー。(Iad128)
SwipeToDismiss
。(I458a8、b/242889540)
API の変更
- Surface に
IsContainer
セマンティクス プロパティを追加しました。後で変更する際にこのプロパティを使って、サーフェスなど要素の意味論的意味に基づいて移動順序を決定します。(I63379) - ナビゲーション ドロワー関連の API を安定版としてマークしました。(Iab01e、b/261439597)
- 円形の進行状況インジケーターにトラックの色パラメータを追加し、円形と線形の両方の進行状況インジケーターにストロークの上限パラメータを追加しました。(Ie668c、b/216325962、b/222964817)
- 非推奨になった非表示関数の戻り値の型の null 可能性を拡大しました。(Ibf7b0)
Modifier.minimumInteractiveComponentSize
を追加しました。これを使用すると、要素のサイズが小さい場合のタップ操作の曖昧さを解消するために、48 dp 以上のサイズを予約することができます。(I33f58、b/258495559)- コンテンツ スロットのある
AlertDialog
コンポーザブル用の試験運用版 API を追加しました。(Iec4a2)
バグの修正
- 進行状況インジケーターの進捗が予想範囲に適切にバインドされるようになりました。(I8a7eb、b/262262727)
既知の問題
androidx.compose.foundation:1.4.0-alpha03
からandroidx.compose.foundation:1.4.0-alpha04
に更新するときに、java.lang.NoSuchFieldError
エラーが発生することがあります。この問題はこちらで最初に報告されました。修正はすでに送信されており、次回の Compose アップデートで利用できるようになります。回避策として、androidx.compose.material
ライブラリとandroidx.compose.material3
ライブラリを最新バージョン(1.1.0-alpha04)に更新するか、androidx.compose.foundation
を 1.4.0-alpha03 にダウングレードしてください。
バージョン 1.1.0-alpha03
2022 年 12 月 7 日
androidx.compose.material3:material3:1.1.0-alpha03
と androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
consumedWindowInsets()
の名前をconsumeWindowInsets()
に、withConsumedWindowInsets()
の名前をonConsumedWindowInsetsChanged()
に変更し、Modifiers を公開しました。(Ie44e1)- アイコン付きのテキスト ボタンで使用するための新しいデフォルトのコンテンツ パディングを追加しました。(I8f662)
- ナビゲーション バーとレールの無効な色を追加しました。(Ia7892、b/258867034)
- 祖先のスクロール情報をクエリするための Modifier API を追加しました。(I2ba9d、b/203141462)
- ジェスチャーがスクロール イベントになる可能性がある場合にタップ操作を正しく遅延させるために
Clickable
で使用します。 Scrollable ViewGroup
内で使用する場合にClickables
がリップルを正しく遅延しない問題を修正しました。- ジェスチャーがスクロール イベントになる可能性がある場合にタップを正しく遅延するように Drawers と Sheets を更新しました。
依存関係の更新
Compose UI
とCompose Material
は Lifecycle 2.5.1 に依存するようになりました。(I05ab0、b/258038814)
バージョン 1.1.0-alpha02
2022 年 11 月 9 日
androidx.compose.material3:material3:1.1.0-alpha02
と androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
- 柔軟性を高めるため、
awaitFirstDown
とwaitForUpOrCancellation
がPointerEventPass
を受け取るようになりました(さらにExposedDropdownMenuBox
も修正しました(スクロール中もメニューが表示される))。(I7579a、b/212091796) - material と material3 の Text である
TextField
とOutlinedTextField
にminLines
パラメータを追加し、コンポーネントの最小の高さを行数で設定できるようになりました。(I4af1d) TopAppBar
の作成時に使用する新しいtopAppBarColors
関数のために、TopAppBarDefaults smallTopAppBarColors
関数を非推奨にしました。(Ie6cb9)minLines
パラメータをBasicText
とBasicTextField
に追加しました。これにより、これらのコンポーザブルの最小の高さを行数で設定できるようになりました。(I24294、b/122476634)
バグの修正
- マテリアル 3 の
IconButton
およびIconToggleBotton
のコンテンツを、コンポーネントの状態レイヤの図形(円形など)にクリップしました。(I9da8f) - マテリアル 3 の Medium および Large の上部アプリバーを更新し、サーフェス全体で同じ背景色が適用できるようにするとともに、デフォルトの色を透明色の値でオーバーライドできるようにしました。(I67659、b/249688556、b/250838918)
バージョン 1.1.0-alpha01
2022 年 10 月 24 日
androidx.compose.material3:material3:1.1.0-alpha01
と androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。
バグの修正
- タイトルが TextStyle と Brush で適用される場合のトップ アプリバーの修正。(If667e)
バージョン 1.0
バージョン 1.0.1
2022 年 11 月 9 日
androidx.compose.material3:material3:1.0.1
と androidx.compose.material3:material3-window-size-class:1.0.1
がリリースされました。バージョン 1.0.1 に含まれる commit については、こちらをご覧ください。
バグの修正
- マテリアル 3 の Medium および Large の上部アプリバーを更新し、サーフェス全体で同じ背景色が適用できるようにするとともに、デフォルトの色を透明色の値でオーバーライドできるようにしました。(I67659、b/249688556、b/250838918)
バージョン 1.0.0
2022 年 10 月 24 日
androidx.compose.material3:material3:1.0.0
と androidx.compose.material3:material3-window-size-class:1.0.0
がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
これは、Compose マテリアル 3 の最初の安定版リリースです。
マテリアル デザイン 3 のテーマ設定と Material You のダイナミック カラー
マテリアル デザイン 3 のコンポーネント
- バッジ
- ボトム アプリバー
- ボタン
- FAB と拡張 FAB
- カード
- チェックボックス
- チップ
- ダイアログ
- 分割線
- プルダウン メニュー
- リスト
- ナビゲーション バー
- ナビゲーション ドロワー
- ナビゲーション レール
- 進行状況インジケーター
- ラジオボタン
- スライダー
- スイッチ
- タブ
- テキスト フィールド
- トップ アプリバー
- アイコン
- テキスト
- サーフェス
- レイアウト
- コンテンツの色
ウィンドウ サイズクラス
material3-window-size-class
は、ウィンドウ サイズ クラス(サイズ変更可能なアプリ レイアウトを設計、開発、テストするための、独自のビューポート ブレークポイントのセット)をサポートする、新しいライブラリです。calculateWindowSizeClass
を使用してウィンドウ サイズ クラスのインスタンスを取得し、UI の表示の仕方を決定するのに使用できます。たとえば、ウィンドウ サイズが大きい場合にはボトム ナビゲーションではなくナビゲーション レールを表示するといった指定が可能です。詳細と使用例については、WindowSizeClass
の API リファレンス ドキュメントをご覧ください。詳しくは、こちらのブログ投稿をご覧ください。
バージョン 1.0.0-rc01
2022 年 10 月 5 日
androidx.compose.material3:material3:1.0.0-rc01
と androidx.compose.material3:material3-window-size-class:1.0.0-rc01
がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
API の変更
- テキスト フィールド API に、テキストをサポートするためのスロット パラメータを追加しました。(Iaac0d、b/227146125)
バージョン 1.0.0-beta03
2022 年 9 月 21 日
androidx.compose.material3:material3:1.0.0-beta03
と androidx.compose.material3:material3-window-size-class:1.0.0-beta03
がリリースされました。バージョン 1.0.0-beta03 に含まれる commit については、こちらをご覧ください。
API の変更
ExposedDropdownMenuDefaults
がメニュー項目のパディング値をエクスポーズするようになりました。(I34ee1)ExposedDropdownMenuBoxScope
に、テキスト フィールドに渡されるModifier.menuAnchor()
修飾子が追加され、a11y の動作が正しくなりました。(I27fa3)- ユーザーが評価やトラックを渡してスライダーを生成できる現在の Slider API に 2 つのオーバーロードされたメソッドが追加されました。(I21c00)
バグの修正
- On Error Container のダークモード カラー マッピングをトーン 90 に更新しました。(Ic5612)
- 小さいマテリアル 3 の上部アプリバーに透明な背景を設定できるよう修正しました。(I645e2、b/245575782)
バージョン 1.0.0-beta02
2022 年 9 月 7 日
androidx.compose.material3:material3:1.0.0-beta02
と androidx.compose.material3:material3-window-size-class:1.0.0-beta02
がリリースされました。バージョン 1.0.0-beta02 に含まれる commit については、こちらをご覧ください。
API の変更
- beta01 バージョンの m3 コンポーネントで導入されたデフォルトのコンポーネント インセットに、IME インセットは含まれなくなりました。
- Material3 Scaffold コンポーネントに
contentWindowInsets
パラメータを追加し、コンテンツ スロットに対して処理するインセットの量を指定できるようにしました。(Icf11a、b/243713323) - 試験運用版マテリアル 3 の
SmallTopAppBar
関数を非推奨とし、同等のTopAppBar
関数を導入しました。使用している場合は、新しい関数に移行してください。(I74404、b/226918634) - トップ アプリバーのフリングとスナップの動作をコントロールできるようにしました。(I15c81)
- Divider から startIndent を削除し、色を最後のパラメータに移動しました。(If7be2)
バグの修正
- ダイアログが表示されたら「ダイアログ」という単語を読み上げて、TalkBack ユーザーがダイアログを識別できるようにします。(I857ef)
バージョン 1.0.0-beta01
2022 年 8 月 24 日
androidx.compose.material3:material3:1.0.0-beta01
と androidx.compose.material3:material3-window-size-class:1.0.0-beta01
がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
API リファレンス
最新のテーマ設定、コンポーネント、その他の利用可能なコンポーザブルについては、Compose Material 3 API リファレンスの概要をご覧ください。
API の変更
- マテリアル 3 のトップ アプリバーを更新し、完全に閉じた状態と完全に開いた状態がすばやく切り替わるようにしました。また、
TopAppBarDefaults
動作関数をコンポーザブルに更新し、トップ アプリバーの状態とアニメーション仕様のデフォルト値を指定しました。(I642b3) - Surface API に合わせて FAB コンポーネントのシグネチャを更新しました。(I3afaa)
- トップ アプリバー、ドロワー、ナビゲーション バー、レールの、インセットでの組み込みサポートを追加しました。これらのコンポーネントを単独で、または Scaffold とともに使用すると、デベロッパーのインセットが自動的に処理されます。注: この変更によって、ステータスバー アイコンや、ステータスバーとナビゲーション バーの透明度に対して自動処理が追加されるわけではありません。今後も引き続きこれらを手動で処理して、画面いっぱいに広がる最高のエクスペリエンスを提供できるようにしてください。(I7e4e6、b/183161866)
- コンポーネントのデフォルトを更新して、今後の柔軟性とパフォーマンスの改善のために API サーフェスを削減しました。(I31820)
- API 内の整合性を保つために、チップとナビゲーション ドロワーのシート パラメータの順序を変更しました。(I45d0b)
- Divider から
startIndent
を削除し、色を最後のパラメータに移動しました。(If7be2)
バージョン 1.0.0-alpha16
2022 年 8 月 10 日
androidx.compose.material3:material3:1.0.0-alpha16
と androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
がリリースされました。バージョン 1.0.0-alpha16 に含まれる commit については、こちらをご覧ください。
新機能
- ナビゲーション ドロワーでカスタムの幅を指定できるようになりました。(Ia7f10)
API の変更
- API 内の整合性を保つために、Tab と先頭のアイコンタブのパラメータを並べ替えました。(Ie2637)
BadgeDefaults
を試験運用としてマークしました。(I98ef3)- 非推奨となったナビゲーション ドロワー関数を削除しました。(I4f2db)
- API 内の整合性を保つために、マテリアル 3 のスライダー パラメータを並べ替えました。(I0aee7)
- API 内の整合性を保つために、
NavigationBar
およびNavigationRail
パラメータを並べ替えました。(I51cda) - API 全体の整合性を保つために、マテリアル 3 のパラメータを並べ替えました。(If4ae1)
- API 内の整合性を保つために、マテリアル 3 のスライダー パラメータを並べ替えました。(I62673)
- トップ アプリバーとの整合性を保つために、アイコン パラメータの名前をアクションに変更しました。(Id75be)
- アンカーの配置はまだ流動的であるため、
Badge
とBadgedBox
を試験運用版としてマークしました。(I1712e、b/236524516) - アイコンボタン バリアントの
@ExperimentalMaterial3Api
アノテーションを@OptIn
に変更しました。(I070b5) - ナビゲーション ドロワーのコンテンツを独自のコンポーザブルに分離し、カスタムの幅を指定できるようにしました。(Ia7f10)
MenuDefaults
とTabDefaults
からDivider
を削除しました。(I4e33c)
バージョン 1.0.0-alpha15
2022 年 7 月 27 日
androidx.compose.material3:material3:1.0.0-alpha15
と androidx.compose.material3:material3-window-size-class:1.0.0-alpha15
がリリースされました。バージョン 1.0.0-alpha15 に含まれる commit については、こちらをご覧ください。
新機能
- トップ アプリバーをバー自体からドラッグできるようにしました。(I65c00、b/205873416)
API の変更
FilterChip
API とElevatedFilterChip
API を更新し、selectedIcon
スロットを削除するとともに、選択された状態を表示するためのleadingIcon
の再利用を促進しました。(Ie5dc2)- カラーロールのスクリムおよびアウトライン バリアントを追加しました。(Id6d54)
- コンポーザブルのデフォルトの命名規則を修正しました。(I62b27)
ListItemDefaults
とListItemColors
を試験運用版としてマークしました。(I1f3ec)- トップ アプリバー API に変更を加えて、その状態プロパティの意味をより適切に反映するようにしました。また、トップ アプリバー API を試験運用版としてマークしました。(Ic0ad8)
- テキスト選択の色を
TextFieldColors
に追加して、見つけやすくしました。(Iba1b8) - アイコンを含むボタンで使用できる
ButtonDefault.ButtonWithIconContentPadding
を追加しました。(I2bf9c) - 将来の API の変更における柔軟性を高めるため、テキスト フィールドを試験運用版としてマークしました。(I127b5)
Checkbox
関数から@ExperimentalMaterial3Api
アノテーションを削除しました。(I5eefc)RadioButton
関数から@ExperimentalMaterial3Api
アノテーションを削除しました。(I17e2a)- 非インタラクティブなカードから
@ExperimentalMaterial3Api
アノテーションを削除しました。(I9bd49) - さまざまなコンポーネント デフォルトのオブジェクトを更新して、色や形状などを含むようにしました。(I96e11)
バグの修正
- カタログアプリでユーザーが混乱しないように、入力チップのサンプルから機能していない末尾のアイコンを削除しました。(I9846a)
バージョン 1.0.0-alpha14
2022 年 6 月 29 日
androidx.compose.material3:material3:1.0.0-alpha14
と androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
がリリースされました。バージョン 1.0.0-alpha14 に含まれる commit については、こちらをご覧ください。
新機能
- M3 リストの実装を追加しました。使用例については、ドキュメントをご覧ください。(Id7a20)
API の変更
RangeSlider
のパラメータ名を values から value に変更しました。(I3b79a)- マテリアル デザインの仕様に基づく選択可能な状態をサポートできるよう、API の
InputChip
の実装に対する変更を行いました。FilterChip
の色について、無効な状態が選択された場合のサポートを追加しました。(I55244、b/235792432) BottomAppBar
のデフォルトの FAB を追加しました。(Ida4c8)ColorScheme.surfaceColorAtElevation
が追加されました。(Id41af)- compose ライブラリのインターフェースが jdk8 デフォルト インターフェース メソッドを使ってビルドされるようになりました。(I5bcf1)
WindowWidthSizeClass
とWindowHeightSizeClass
に Comparable が実装され、演算子(<、<=、>=、>)とその他の API を使用して比較できるようになりました。(I747d0)
バグの修正
- バッジのサンプルが更新されて、コンテンツの説明がよりわかりやすくなりました。(I10b9d)
- Material 3 カタログのテーマ選択ツールに、システムのフォントサイズを使用するオプションを追加しました。(I10605)
- バッジと不確定形式の進捗状況インジケーターのサンプルコードを追加しました。(I8fbe0)
バージョン 1.0.0-alpha13
2022 年 6 月 1 日
androidx.compose.material3:material3:1.0.0-alpha13
と androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
がリリースされました。バージョン 1.0.0-alpha13 に含まれる commit については、こちらをご覧ください。
API の変更
- 構成変更時のトップ アプリバーの位置の維持がサポートされます。(I10459、b/216160958)
バージョン 1.0.0-alpha12
2022 年 5 月 18 日
androidx.compose.material3:material3:1.0.0-alpha12
と androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit については、こちらをご覧ください。
バグの修正
- スライダーの親の幅を 0 に設定できるようになりました。(b/231707291)
バージョン 1.0.0-alpha11
2022 年 5 月 11 日
androidx.compose.material3:material3:1.0.0-alpha11
と androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。
新機能
- マテリアル 3 に
RangeSlider
を追加しました。(I18e38) - マテリアル 3 の
AssistChip
およびInputChip
のサポートを追加しました。(I0d25a) - マテリアル 3 の
FilterChip
およびSuggestionChip
のサポートを追加しました。(I9fdf3)
API の変更
OutlinedTextField
に境界の破線を描画するTextFieldDefaults.BorderStroke
コンポーザブルの名前をTextFieldDefaults.BorderBox
に変更しました。(I5f295)- M3 Switch の視覚的な変更(Iab30e)
- 標準のアイコンボタンに色を渡すことが可能になりました。(Ia2445)
バグの修正
- 内部パディングの使用を保証するため、material3 / Scaffold に lint チェックを追加しました。(I72293、b/226951418)
バージョン 1.0.0-alpha10
2022 年 4 月 20 日
androidx.compose.material3:material3:1.0.0-alpha10
と androidx.compose.material3:material3-window-size-class:1.0.0-alpha10
がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。
新機能
material3-window-size-class
は、ウィンドウ サイズ クラス(サイズ変更可能なアプリ レイアウトを設計、開発、テストするための、独自のビューポート ブレークポイントのセット)をサポートする、新しいライブラリです。calculateWindowSizeClass
を使用してウィンドウ サイズ クラスのインスタンスを取得し、UI の表示の仕方を決定するのに使用できます。たとえば、ウィンドウ サイズが大きい場合にはボトム ナビゲーションではなくナビゲーション レールを表示するといった指定が可能です。詳細と使用例については、WindowSizeClass
の API リファレンス ドキュメントをご覧ください。ウィンドウ サイズ クラスの定義について詳しくは、各種の画面サイズのサポートに関する公開ガイダンスをご覧ください。
API の変更
BottomAppBar
にデフォルトの FAB の高度を追加し、FAB があるBottomAppBar
から後置ラムダを削除しました。(I92c47)- マテリアル 3 の
FilledIconButton
、FilledTonalIconButton
、OutlinedIconButton
を追加しました。(Ib2bda) - Material 3 Snackbar API を更新し、オプションのアクションと閉じるアクションの色の値を受け入れるようにしました。(Ibe4b4)
PointerInputChange
での部分的な消費(down または position)が非推奨になりました。consume()
を使用すると、変更を完全に使用できます。isConsumed
を使用すると、以前にその変更が他のユーザーに使われたかどうかを確認できます。PointerInputChange::copy()
が常にシャローコピーを作成するようになりました。つまり、PointerInputChange
のコピーのいずれか 1 つが使用されると、以降はそれらのコピーが使用されます。バインドされていないPointerInputChange
を作成するには、代わりにコンストラクタを使用します。(Ie6be4、b/225669674)- Cards API を変更し、
CardColors
インターフェースでコンテナとコンテンツの色を受け取るように、また、クリック可能なカードの無効状態をサポートするようにしました。(I927df) - 他のコンポーネントとの一貫性を高めるために、マテリアル 3 のテキスト フィールドのパラメータ
backgroundColor
の名前をcontainerColor
に変更しました。(I6fbd9)
バグの修正
- マテリアル 3 の仕様に合わせて標準の
IconButton
を更新しました。(I09eab) - マテリアル 3 Scaffold のトップバーの高さをコンテンツに渡されるパディングに移動し、上部のアプリバーの下にコンテンツをレンダリングできるようにしました。
PaddingValues
が無視されると、コンテンツがトップバーによって隠れる可能性があります。(I83cbc、b/217776202)
バージョン 1.0.0-alpha09
2022 年 4 月 6 日
androidx.compose.material3:material3:1.0.0-alpha09
がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。
新機能
- Material 3 Switch API を追加しました(I2c3ad)
API の変更
- テキスト フィールドを含むプルダウン メニュー(「露出したプルダウン メニュー」または「コンボボックス」)のサポートを追加しました。(I1b832)
- MaterialTheme および Shape サブシステムに shape パラメータを追加しました。(I37426)
ExtendedFloatingActionButton
に拡張パラメータを追加しました。これにより、FAB を開くか閉じるかを制御し、各状態の間にアニメーションを表示できます。アイコンのない ExtendedFAB の末尾のテキストを含む拡張 FAB に拡張 FAB オーバーロードを追加しました。(Iba7f1)
バージョン 1.0.0-alpha08
2022 年 3 月 23 日
androidx.compose.material3:material3:1.0.0-alpha08
がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください。
新機能
- マテリアル 3 のテキスト フィールドのサポートを追加しました。(I795cc、b/199377790)
API の変更
バグの修正
- MaterialTheme からデフォルトのテキスト スタイル値が読み取られるように、Material3 Button を修正しました。(Ie62fc)
バージョン 1.0.0-alpha07
2022 年 3 月 9 日
androidx.compose.material3:material3:1.0.0-alpha07
がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。
API の変更
- Material 3 Surface API を更新し、クリック可能なサーフェスのオーバーロード関数を復活させるとともに、選択と切り替えが可能なサーフェスをサポートする関数を追加しました。(I4bf18)
LazyVerticalGrid
とLazyHorizontalGrid
が安定版になりました。(I307c0)LazyVerticalGrid/LazyHorizontalGrid
とすべての関連 API を .grid サブパッケージに移動しました。インポートを androidx.compose.foundation.lazy から androidx.compose.foundation.lazy.grid に更新してください。(I2d446)WindowInsetsControllerCompat
の View のみに依存する以前の変更を元に戻し、一部のウィンドウ フラグの管理に必要な Window が改めて必須になりました。適切な Window が使用されるように(View がダイアログ内にある場合など)、ViewCompat.getWindowInsetsController
が非推奨になり、WindowCompat.getInsetsController
に置き換えられました。(I660ae、b/219572936)- 交差軸のサイズを定義する
LazyVerticalGrid
API を新たに追加しました。(I17723)
バグの修正
- Surface API での変更にあわせて Card API を更新しました(I3c8b9)
バージョン 1.0.0-alpha06
2022 年 2 月 23 日
androidx.compose.material3:material3:1.0.0-alpha06
がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
API の変更
- ドロワー内の単一のデスティネーションを表す
NavigationDrawerItem
を追加しました(Ic396f、b/218286829) PermanentNavigationDrawer
とDismissibleNavigationDrawer
を試験運用版 API として追加しました。これらは大画面のデバイスに適したドロワーです。(I5f8ab、b/218286829)- マテリアル 3 の下部のアプリバーのサポートを追加しました(Ic432a)
NavigationDrawer
の名前をModalNavigationDrawer
に変更しました(I1807d、b/218286829)- マテリアル 3 の Slider クラスとトークンを追加しました(I1ccee)
- Tab の実装を追加しました。使用例については、ドキュメントをご覧ください(Ie0146)
バグの修正
TalkBack
スクリーン リーダーの直線的なナビゲーションで上部のアプリバーの空のタイトルが選択された場合の問題を修正しました。(Id4690)IconSize
をFloatingActionButtonDefaults
に追加しました。(Ia71cf)LazyColumn
で長いテキストが追加されたときに非表示になるAlertDialog
ボタンに関するバグを修正しました。(Ib2cc9、b/216663029)
バージョン 1.0.0-alpha05
2022 年 2 月 9 日
androidx.compose.material3:material3:1.0.0-alpha05
がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
マテリアル デザイン 3 のコンポーネントを追加しました。
API の変更
- onClick コールバックを受け取る
Surface
関数を非推奨にしました。クリック可能なサーフェスは、InteractionSource
とModifier.clickable()
を使用して作成する必要があります。(I211c6) - FAB の押下とフォーカスでの高さのサポートを追加しました。(Ibb584)
- InteractionSource を受け取るように
Surface
API を変更しました。さまざまな状態での外観を制御できます。(Iafbc8)
バグの修正
- 動的なカラーパターンに欠落していた第 3 の色を追加しました(I456c4、b/214588434)
バージョン 1.0.0-alpha04
2022 年 1 月 26 日
androidx.compose.material3:material3:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
API の変更
- 複雑なロジックのない既存メソッドのオーバーロードであるメソッドに、
NonRestartableComposable
を追加しました。これにより、呼び出し先の内部関数で繰り返される、すべてのパラメータに対するコンパイラ生成のメモ化チェック(equals)を減らすことができます。(I90490) - マテリアル 3 のディバイダを追加しました。(Ica5fc)
- Checkbox と RadioButton に試験運用版の API アノテーションを付けられるようにしました。(Ie44bb)
- マテリアル 3 の進行状況インジケーターのサポートを追加しました。(Iff232、b/205023841)
バグの修正
- 無効な
TextButton's
コンテナの色が透明になるよう更新しました。(I6b248、b/213339737)
バージョン 1.0.0-alpha03
2022 年 1 月 12 日
androidx.compose.material3:material3:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
バグの修正
- マテリアル 3 の
MaterialTheme
にLocalIndication
を追加しました。(I7ce4e) - チェックボックスに適用される角の丸みを修正しました。(I38b03、b/175198975、b/202309440)
依存関係の更新
- Kotlin
1.6.10
に依存するようになりました。
バージョン 1.0.0-alpha02
2021 年 12 月 1 日
androidx.compose.material3:material3:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- チェックボックスとラジオボタンのサポートを追加しました。
- Kotlin
1.6.0
との互換性を確保するために更新しました。
API の変更
- マテリアル 3 のスキャフォールディングからドロワーを削除しました。(I04f51)
- マテリアル 3 の
Checkbox
のサポートを追加しました。(Id5542) - マテリアル 3 の
RadioButton
のサポートを追加しました。(I20334)
バグの修正
IconButton
の波紋半径を 40dp から 20dp に縮小しました。(I68bbe、b/206674345)Text
のポート文字列高速パスをcompose.material
から変更しました。(I30b03)- ハードコードされたボタンが常に有効になるよう修正しました。(Iea832、b/205335456)
バージョン 1.0.0-alpha01
2021 年 10 月 27 日
androidx.compose.material3:material3:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
マテリアル デザイン 3 のテーマ設定と Material You のダイナミック カラー
マテリアル デザイン 3 のコンポーネント
- ボタン
- FAB と拡張 FAB
- ダイアログ
- ナビゲーション バー
- ナビゲーション ドロワー
- ナビゲーション レール
- トップ アプリバー
- バッジ
- アイコン
- テキスト
- サーフェス
- レイアウト
- コンテンツの色
詳しくは、Compose のマテリアル テーマ設定ガイドのマテリアル デザイン 3 と Material You をご確認ください。