Compose マテリアル 3

マテリアル デザインの進化版であるマテリアル デザイン 3 コンポーネントで Jetpack Compose UI を構築します。マテリアル 3 には、最新のテーマ設定とコンポーネント、ダイナミック カラーなどの Material You のパーソナライズ機能が含まれており、Android 12 の新しい視覚的スタイルとシステム UI と調和するように設計されています。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2022 年 7 月 27 日 - - - 1.0.0-alpha15

構造

Compose は、androidx 内の 7 つの Maven Group ID を組み合わせたものです。各グループにはそれぞれの目的に応じて Compose の機能のサブセットが含まれており、それぞれに固有のリリースノートがあります。

次の表に、各グループの説明と、それぞれのリリースノートのリンクを示します。

グループ説明
compose.animationJetpack 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.runtimeCompose のプログラミング モデルと状態管理の基本ビルディング ブロックと、Compose コンパイラ プラグインがターゲットとするコアランタイム。
compose.uiレイアウト、描画、入力などのデバイス操作に必要な Compose UI の基本コンポーネント。

依存関係の宣言

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

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

Groovy

dependencies {
    implementation "androidx.compose.material3:material3:1.0.0-alpha15"
    implementation "androidx.compose.material3:material3-window-size-class:1.0.0-alpha15"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.2.0-alpha08"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.0.0-alpha15")
    implementation("androidx.compose.material3:material3-window-size-class:1.0.0-alpha15")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.2.0-alpha08"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

フィードバック

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

新しい問題を報告する

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

バージョン 1.0

バージョン 1.0.0-alpha15

2022 年 7 月 27 日

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

新機能

  • トップ アプリバーをバー自体からドラッグできるようにしました。(I65c00b/205873416

API の変更

  • FilterChip API と ElevatedFilterChip API を更新し、selectedIcon スロットを削除するとともに、選択された状態を表示するための leadingIcon の再利用を促進しました。(Ie5dc2
  • カラーロールのスクリムおよびアウトライン バリアントを追加しました。(Id6d54
  • コンポーザブルのデフォルトの命名規則を修正しました。(I62b27
  • ListItemDefaultsListItemColors を試験運用版としてマークしました。(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-alpha14androidx.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 の色について、無効な状態が選択された場合のサポートを追加しました。(I55244b/235792432
  • BottomAppBar のデフォルトの FAB を追加しました。(Ida4c8
  • ColorScheme.surfaceColorAtElevation が追加されました。(Id41af
  • compose ライブラリのインターフェースが jdk8 デフォルト インターフェース メソッドを使ってビルドされるようになりました。(I5bcf1
  • WindowWidthSizeClassWindowHeightSizeClass に Comparable が実装され、演算子(<、<=、>=、>)とその他の API を使用して比較できるようになりました。(I747d0

バグの修正

  • バッジのサンプルが更新されて、コンテンツの説明がよりわかりやすくなりました。(I10b9d
  • Material 3 カタログのテーマ選択ツールに、システムのフォントサイズを使用するオプションを追加しました。(I10605
  • バッジと不確定形式の進捗状況インジケーターのサンプルコードを追加しました。(I8fbe0

バージョン 1.0.0-alpha13

2022 年 6 月 1 日

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

API の変更

  • 構成変更時のトップ アプリバーの位置の維持がサポートされます。(I10459b/216160958

バージョン 1.0.0-alpha12

2022 年 5 月 18 日

androidx.compose.material3:material3:1.0.0-alpha12androidx.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-alpha11androidx.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 チェックを追加しました。(I72293b/226951418

バージョン 1.0.0-alpha10

2022 年 4 月 20 日

androidx.compose.material3:material3:1.0.0-alpha10androidx.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 の FilledIconButtonFilledTonalIconButtonOutlinedIconButton を追加しました。(Ib2bda
  • Material 3 Snackbar API を更新し、オプションのアクションと閉じるアクションの色の値を受け入れるようにしました。(Ibe4b4
  • PointerInputChange での部分的な消費(down または position)が非推奨になりました。consume() を使用すると、変更を完全に使用できます。isConsumed を使用すると、以前にその変更が他のユーザーに使われたかどうかを確認できます。
  • PointerInputChange::copy() が常にシャローコピーを作成するようになりました。つまり、PointerInputChange のコピーのいずれか 1 つが使用されると、以降はそれらのコピーが使用されます。バインドされていない PointerInputChange を作成するには、代わりにコンストラクタを使用します。(Ie6be4b/225669674
  • Cards API を変更し、CardColors インターフェースでコンテナとコンテンツの色を受け取るように、また、クリック可能なカードの無効状態をサポートするようにしました。(I927df
  • 他のコンポーネントとの一貫性を高めるために、マテリアル 3 のテキスト フィールドのパラメータ backgroundColor の名前を containerColor に変更しました。(I6fbd9

バグの修正

  • マテリアル 3 の仕様に合わせて標準の IconButton を更新しました。(I09eab
  • マテリアル 3 Scaffold のトップバーの高さをコンテンツに渡されるパディングに移動し、上部のアプリバーの下にコンテンツをレンダリングできるようにしました。PaddingValues が無視されると、コンテンツがトップバーによって隠れる可能性があります。(I83cbcb/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 のテキスト フィールドのサポートを追加しました。(I795ccb/199377790

API の変更

  • メニューにデフォルトのディバイダを追加しました。(I01374
  • surfaceTint カラー パラメータを ColorScheme クラスに追加しました。(I2f558

バグの修正

  • 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
  • LazyVerticalGridLazyHorizontalGrid が安定版になりました。(I307c0
  • LazyVerticalGrid/LazyHorizontalGrid とすべての関連 API を .grid サブパッケージに移動しました。インポートを androidx.compose.foundation.lazy から androidx.compose.foundation.lazy.grid に更新してください。(I2d446
  • WindowInsetsControllerCompat の View のみに依存する以前の変更を元に戻し、一部のウィンドウ フラグの管理に必要な Window が改めて必須になりました。適切な Window が使用されるように(View がダイアログ内にある場合など)、ViewCompat.getWindowInsetsController が非推奨になり、WindowCompat.getInsetsController に置き換えられました。(I660aeb/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 を追加しました(Ic396fb/218286829
  • PermanentNavigationDrawerDismissibleNavigationDrawer を試験運用版 API として追加しました。これらは大画面のデバイスに適したドロワーです。(I5f8abb/218286829
  • マテリアル 3 の下部のアプリバーのサポートを追加しました(Ic432a
  • NavigationDrawer の名前を ModalNavigationDrawer に変更しました(I1807db/218286829
  • マテリアル 3 の Slider クラスとトークンを追加しました(I1ccee
  • Tab の実装を追加しました。使用例については、ドキュメントをご覧ください(Ie0146

バグの修正

  • TalkBack スクリーン リーダーの直線的なナビゲーションで上部のアプリバーの空のタイトルが選択された場合の問題を修正しました。(Id4690
  • IconSizeFloatingActionButtonDefaults に追加しました。(Ia71cf
  • LazyColumn で長いテキストが追加されたときに非表示になる AlertDialog ボタンに関するバグを修正しました。(Ib2cc9b/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 関数を非推奨にしました。クリック可能なサーフェスは、InteractionSourceModifier.clickable() を使用して作成する必要があります。(I211c6
  • FAB の押下とフォーカスでの高さのサポートを追加しました。(Ibb584
  • InteractionSource を受け取るように Surface API を変更しました。さまざまな状態での外観を制御できます。(Iafbc8

バグの修正

  • 動的なカラーパターンに欠落していた第 3 の色を追加しました(I456c4b/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 の進行状況インジケーターのサポートを追加しました。(Iff232b/205023841

バグの修正

  • 無効な TextButton's コンテナの色が透明になるよう更新しました。(I6b248b/213339737

バージョン 1.0.0-alpha03

2022 年 1 月 12 日

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

バグの修正

  • マテリアル 3 の MaterialThemeLocalIndication を追加しました。(I7ce4e
  • チェックボックスに適用される角の丸みを修正しました。(I38b03b/175198975b/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 に縮小しました。(I68bbeb/206674345
  • Text のポート文字列高速パスを compose.material から変更しました。(I30b03
  • ハードコードされたボタンが常に有効になるよう修正しました。(Iea832b/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 のコンポーネント

詳しくは、Compose のマテリアル テーマ設定ガイドのマテリアル デザイン 3 と Material You をご確認ください。