Wear Compose

  
ウェアラブル固有のデバイス、サイズ、形状、ナビゲーション操作をサポートする機能を提供して、ウェアラブル デバイス向けの Jetpack Compose アプリを作成します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2024 年 6 月 12 日 1.3.1 - 1.4.0-beta03 -

依存関係の宣言

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

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

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.3.1"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.3.1"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.3.1"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.1")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.3.1")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.3.1")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.3.1")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.1")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

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

フィードバック

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

新しい問題を報告する

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

Wear Compose Material3 バージョン 1.0

バージョン 1.0.0-alpha23

2024 年 5 月 14 日

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

API の変更

  • ToggleButton API と RadioButton API を更新し、無効な色を設定できるようにしました。(If13a7)。
  • マテリアル 3 に新しい CircularProgressIndicator を追加しました。(Ib3bd7)。

バグの修正

  • 選択可能なボタンがすでに選択されているときに、ダブルタップで切り替えると読み上げるバグを修正しました。(I7ed88)。

バージョン 1.0.0-alpha22

2024 年 5 月 1 日

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

API の変更

  • マテリアル 3 の ColorScheme を更新しました。(I7b2b8)。
  • マテリアル 3 のスイッチが更新され、色の変更も加えられました。チェックマークが、チェックボックスで使用されていたものと一致するようになりました。(Icac7b)。

バグの修正

  • 新しい rotaryScrollable 修飾子を使用するように、すべての統合デモを更新しました。(I25090)。

バージョン 1.0.0-alpha21

2024 年 4 月 17 日

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

  • このリリースは、以前のリリースでソース JAR が見つからない技術的な問題が原因でトリガーされました。このリリースには新しい commit はありません。

バージョン 1.0.0-alpha20

2024 年 4 月 3 日

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

バグの修正

  • リップルが押された状態とフォーカスされた状態のアルファのコントラストを調整しました。(I59f0a)。
  • タイポグラフィ スタイルと行の高さに関する最新の変更に伴い、ButtonToggleButtonRadioButton でプライマリ ラベルとセカンダリ ラベルの間にスペースを追加しました。(I2c0ba)。

バージョン 1.0.0-alpha19

2024 年 3 月 6 日

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

API の変更

  • Wear Compose Material3 ライブラリに TimeText を追加しました。このコンポーネントでは、画面の上部に現在の時刻とその他のステータスが表示されます。新しい簡潔な Material3 API により、線形コンテンツと曲線コンテンツ間の重複が回避されます。(I4d7c3)。
  • RadioButton のパラメータ名を onSelected から onSelect に更新しました。(I1a971)。
  • RadioButtonSplitRadioButton をトークン化し、さらに既存のメソッドをリファクタリングして CompositionLocal ルックアップの量を減らすために、色のキャッシュ インスタンスを追加し、RadioButtonColorsSplitRadioButtonColors のメソッドを内部にします。 (I02b33)。

バージョン 1.0.0-alpha18

2024 年 2 月 21 日

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

API の変更

  • 内部でキャッシュ インスタンスを作成し、CompositionLocal の使用を減らすことで、CardColorsToggleButtonColorsSplitToggleButtonColors のデフォルト パターンをリファクタリングしました。(If3fec)。

バージョン 1.0.0-alpha17

2024 年 2 月 7 日

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

API の変更

  • デフォルトで buttonColors を使用するように Button API を更新し、重複する filledButtonColors を削除しました。(I4fe3b)。
  • 内部にキャッシュ インスタンスを作成し、CompositionLocal の使用量を減らすことで、ButtonColorsIconButtonColorsTextButtonColors のデフォルト パターンをリファクタリングしました。(I5f51c)。
  • コンポーネント固有のカラークラスで rememberUpdatedState のオーバーヘッドを削除し、カラークラス内のアクセサ メソッドを内部としてマークしました。(If6571)。

バグの修正

  • Modifier.node を使用するように Modifier.minimumInteractiveComponentSize を更新しました。(Iba6b7)。

バージョン 1.0.0-alpha16

2024 年 1 月 24 日

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

新機能

  • CompactButton を追加しました。これにより、ボタンと同じ塗りつぶし、塗りつぶしの色調、枠線の色を使用できます。(I05df0

API の変更

  • ラジオ コントロールなどの選択コントロールのコンテナとして、RadioButton/SplitRadioButton を追加しました。既存の ToggleButton とは異なり、RadioButton は選択可能(選択グループ内で動作)ですが、ToggleButton は切り替え可能(独立)です。(I61275)。
  • Compose Material3 ライブラリとの一貫性を保つため、Wear Compose Material3 ライブラリから LocalContentAlpha を削除します。(I49a0a)。
  • API で MutableInteractionSource を公開する Wear マテリアルと Wear マテリアル 3 コンポーネントが更新され、デフォルトで null 値許容の MutableInteractionSource が公開されるようになりました。ここではセマンティックな変更はありません。null を渡すと、MutableInteractionSource をホイスティングせず、必要に応じてコンポーネント内に作成されます。null に変更すると、一部のコンポーネントでは MutableInteractionSource が割り当てられなくなります。また、他のコンポーネントは必要な場合にのみ、インスタンスの作成を遅らせることができるため、これらのコンポーネント全体のパフォーマンスが向上します。これらのコンポーネントに渡す MutableInteractionSource を使用しない場合は、代わりに null を渡すことをおすすめします。独自のコンポーネントでも同様の変更を加えることをおすすめします。 (Ib90fcb/298048146)。
  • サポートが終了した rememberRipple に代わる新しい ripple API を wear:compose-material ライブラリと wear:compose-material3 ライブラリに追加しました。また、一時的な CompositionLocalLocalUseFallbackRippleImplementation を追加し、マテリアル コンポーネントが非推奨の rememberRipple/RippleTheme API を使用するように戻します。これは次回の安定版リリースで削除される予定です。これは、カスタムの RippleTheme を指定する場合に、一時的な移行を支援することのみを目的としています。移行に関する情報やこの変更の背景情報については、developer.android.com をご覧ください。 (af92b21)。
  • HorizontalPageIndicator API とそのドキュメントに小さな改善を加えました。(I60efc)。
  • 不変になるように ColorScheme を更新しました。これにより、個々の色の更新は効率が悪くなりますが、より一般的な色の使用は効率的になりました。この変更が行われる理由は、大部分のアプリでは、主なユースケースとして個々の色を更新する必要がないためです。まだ可能ですが、再コンポーズ回数は以前よりも増えます。その結果、マテリアル コード全体を通して状態サブスクリプションの量が大幅に減少し、より標準的なユースケースの初期化とランタイム コストに影響が及ぶことになるでしょう。(Ibc2d6)。
  • 無効な色をカスタマイズできるように ToggleButton API と SplitToggleButton API を更新しました。さらに、カラーとタイポグラフィの値にマテリアル デザイン トークンが使用されるようになりました。(If087c)。
  • マテリアル デザイン トークンを使用するように、ボタン画像の背景色を更新しました。(Iba215)。
  • クリック処理を削除することで、CheckboxSwitchRadioButton の各コンポーネントをディスプレイ専用に変更しました。これらのコンポーネントは、クリックを処理する (Split)ToggleButton で使用されることが予想されるため、コンポーネントがディスプレイ専用であることがより明確に示されるようになりました(Wear でのスタンドアロンの使用は想定されていません)。(I2322e)。

バグの修正

  • Wear Compose Material 3 に、持続時間のモーション値とイージング用のトークンを追加しました。(I437cd)。
  • ToggleButtonSplitToggleButtonCheckboxSwitchRadioButton のバグを修正し、ユーザー補助に関するお知らせが繰り返されないようにしました(以前はセマンティック ロールが重複していました)。(Ica281)。
  • パフォーマンスを向上させるため、CompactButton のマテリアルコア レイヤを削除しました。(7902858)。

バージョン 1.0.0-alpha15

2023 年 11 月 15 日

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

API の変更

  • 基礎レベル SwipeToDismissBox の名前を BasicSwipeToDismissBox に変更しました。これにより、基盤レベルのコンポーネントとマテリアル 3 レベルの SwipeToDismissBox の区別がより明確になります。後者は、スクリムで使用する色を MaterialTheme から取得し、残りの実装を BasicSwipeToDismissBox にデリゲートします。(Ibecfc)。

バグの修正

  • パフォーマンスを改善するため、Material3 ボタンのマテリアル コアレイヤを削除しました。(I55555)。

バージョン 1.0.0-alpha14

2023 年 10 月 18 日

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

API の変更

  • マテリアル 3 の HorizontalPageIndicator から indicatorStyle パラメータを削除しました。代わりに、デバイスの画面の形状(線形または円形)に従います。(I83728)。
  • 新しい SplitToggleButtonColors クラスを追加することで、SplitToggleButton の色を ToggleButton の色と分離しました。(I78bee)。

バージョン 1.0.0-alpha13

2023 年 10 月 4 日

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

API の変更

  • TitleCard にオプションのサブタイトル フィールドを追加しました。(Ifc45a)。
  • TextButton にマテリアル デザインのカラートークンを追加しました。(I769dc)。

バージョン 1.0.0-alpha12

2023 年 9 月 20 日

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

API の変更

  • マテリアル デザイン トークンを使用するように IconButton を更新しました。(I3f137)。
  • マテリアル デザイン トークンを使用するように IconToggleButton を更新しました。(I7d263)。
  • CheckboxColorsRadioButtonColorsSwitchColors のコンストラクタを公開しました。(I82b73)。

バージョン 1.0.0-alpha11

2023 年 9 月 6 日

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

バグの修正

  • Material3 カードのタイポグラフィを TitleMedium に更新しました。(I597bd)。
  • マテリアル 3 の ListHeaderListSubheader のタイポグラフィと配置を更新しました。(Ib5ceb)。

バージョン 1.0.0-alpha10

2023 年 8 月 23 日

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

新機能

  • Wear のマテリアル 3 ライブラリに HorizontalPageIndicator を追加しました。(Ifee99)。

API の変更

  • Material3 デザイン トークンを使用するように、Buttons コードを更新します。(I92fe4)。
  • ユーザー インターフェースの詳細は作成中であるため、Wear マテリアル 3 の Stepper API と Slider API を試験運用版として宣言します。(I84d54)。
  • ラウンドの TextButtonTextToggleButton から ExtraSmall のサイズを削除しました。このサイズは IconButton にのみ適用されるためです。(Ibc7d5)。

バグの修正

  • LargeButtonSize に LabelLarge を使用するように、TextToggleButton のタイポグラフィに関するガイダンスを更新しました(Ib10fa
  • LargeButtonSize に LabelLarge を使用するように TextButton のタイポグラフィに関するガイダンスを更新しました(I8f3a7)。
  • ユーザー補助のために、カードの最小タップ ターゲットを 48dp に設定しました。(Ieb9b1)。
  • 画像デモを含む AppCard を追加し、バックグラウンドデモで AppCard を削除しました(Id735f)。
  • 円形ボタンで修飾子が正しく連鎖していないバグを修正しました。(I5e162)。

バージョン 1.0.0-alpha09

2023 年 8 月 9 日

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

新機能

  • material3 に ToggleButton を追加しました。(I6bed6

API の変更

  • 以前のコメントで述べたように、API 制約として FloatRange アノテーションを有効にしました。(Icb401)。
  • 最新のマテリアル 3 ガイドラインに準拠するように、Wear マテリアル 3 のタイポグラフィを更新しました。(I1bad6)。

バグの修正

  • マテリアル 3 デザインに合わせて、ButtonIconButtonTextButton の色を更新しました。(Ib2495)。
  • 無効状態のチェックボックスのチェックマークの表示を修正しました。(Ib25bf)。

バージョン 1.0.0-alpha08

2023 年 7 月 26 日

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

新機能

  • マテリアル 3 に、SwitchCheckboxRadioButton の選択コントロールを追加しました。(Ib918c)。
  • マテリアル 3 に IconToggleButtonTextToggleButton を追加しました。これは、アイコンとテキスト用にそれぞれ 1 つのスロットを持つ円形の切り替えボタンです。ToggleButton のサイズが異なる場合は、それぞれの切り替えボタンでサイズを指定して Modifier.touchTargetAwareSize を使用することをおすすめします。(I9f015)。
  • マテリアル 3 コンポーネントに ListHeaderListSubheader を追加しました。(Ibaefe)。
  • 新しい Foundation SwipeToDismissBox を呼び出し、そのテーマからデフォルトのカラー値を提供する Material3 SwipeToDismissBox を追加しました。(I275fb)。
  • Wear Compose にマテリアル 3 の InlineSlider を追加しました。ユーザーは値の範囲から選択することができます。選択範囲は、範囲の最小値と最大値の間にバーとして表示され、ユーザーはそこから値を 1 つ選択できます。InlineSlider は、音量や明るさなどの設定の調整に最適です。(I7085f)。

API の変更

  • シェイプではなく RoundedCornerShape ベースを使用するように Wear マテリアル 3 テーマのシェイプを更新しました。(Idb133)。
  • ボタンの高さの定数を公開しました(Idbfde)。
  • 互換性の抑制にアノテーションを付けるように API ファイルを更新しました(I8e87ab/287516207)。
  • Wear Compose Material 3 の InlineSliderColors を更新し、パブリック コンストラクタとパブリック プロパティを追加しました。(I6b632)。
  • Wear Compose Material 3 のすべてのカラークラスが更新され、パブリック コンストラクタとパブリック プロパティが含まれるようになりました。(I17702)。
  • ボタンの水平方向と垂直方向のパディング定数を公開しました。(Ieeaf7)。

バグの修正

  • ユーザー補助のための大きなフォントによって大きくなったコンテンツに合わせて、必要に応じてボタンの高さが調整されるようになりました。(Iaf302
  • ユーザー補助機能の問題に対処するために、ボタンのデモをいくつか更新しました。(I61ce9)。
  • StepperInlineSlider で長押しによる繰り返しクリックがサポートされるようになりました。これにより、[+] ボタンまたは [-] ボタンを長押しすることで StepperInlineSlider の値をすばやく増減できます(I27359)。

バージョン 1.0.0-alpha07

2023 年 6 月 21 日

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

新機能

  • Wear OS 向け Compose のマテリアル 3 ライブラリに Stepper コンポーネントを追加しました。これは以前のマテリアル バージョンに似ていますが、デベロッパーからのフィードバックに従って、デフォルトでは範囲セマンティクスを省略しています。範囲セマンティクスが必要なケースでは、Modifier.rangeSemantics が用意されています。(Ic39fd)。
  • Wear OS 向け Compose のマテリアル 3 ライブラリに curvedText を追加しました。(Ia8ae3)。

バグの修正

  • wear.compose.material3 の API 依存関係となるように wear.compose.foundation を更新しました(I72004b/285404743)。

バージョン 1.0.0-alpha06

2023 年 6 月 7 日

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

バグの修正

  • 無効なアルファ値を修正するために toDisabledColor 拡張関数を使用するように TextButton を更新しました。(I814c8)。

バージョン 1.0.0-alpha05

2023 年 5 月 24 日

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

新機能

  • テキスト用のスロットが 1 つある円形のボタン、マテリアル 3 に TextButton を追加しました。さまざまなサイズの TextButton には、TextButtonDefaults で提供される Modifier.touchTargetAwareSizeExtraSmallButtonSizeSmallButtonSizeDefaultButtonSizeLargeButtonSizeIcon を使用することをおすすめします。デフォルトの TextButton には枠線がなく、低強調アクション用の透明な背景が表示されます。高い強調が必要なアクションには、filledTextButtonColors を使用します。枠線が TextButton の場合は、枠線を ButtonDefaults.outlinedButtonBorder に設定します。枠線と塗りつぶしの中間にするには filledTonalTextButtonColors を使用します。(I667e4)。
  • CardOutlinedCardAppCardTitleCard を Wear Compose Material3 ライブラリに追加しました。AppCardTitleCard は、CardDefaults.outlinedCardColorsCardDefaults.outlinedCardBorder を使用して枠線付きの外観を指定することもできます。(I80e72

API の変更

  • 後置ラムダ構文をサポートするためにボタンのラベル パラメータを末尾に移動し、ロール パラメータを削除しました(これは Modifier.semantics を使用してオーバーライドできるためです)。ButtonColors コンストラクタが公開されました。(Ie1b6d)。

バージョン 1.0.0-alpha04

2023 年 5 月 10 日

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

新機能

  • アイコン/画像用のスロットが 1 つある円形のボタン、マテリアル 3 に IconButton を追加しました。IconButtonFilledIconButtonFilledTonalIconButtonOutlinedIconButton の 4 つのバリエーションがあります。さまざまなサイズの IconButton には、IconButtonDefaults で提供される Modifier.touchTargetAwareSizeExtraSmallButtonSizeSmallButtonSizeDefaultButtonSizeLargeButtonSizeIcon を使用することをおすすめします。また、特定のボタンサイズの推奨アイコンサイズを決定するための IconButtonDefaults.iconSizeFor も用意されています。(I721d4)。

バージョン 1.0.0-alpha03

2023 年 4 月 19 日

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

API の変更

  • マテリアル 3 の Button コンポーネントを追加しました。これはスタジアム形のボタンで、以前は Wear Compose マテリアル ライブラリで「Chip」と呼ばれていました(Compose Material 3 ライブラリとの一貫性を保つために Button という名前に変更されました)。デフォルトのボタンは背景が塗りつぶされています。FilledTonal(背景がミュート)、枠線付き(細い枠線で透明)、子(透明な背景で枠線なし、目立ち度が最も低い補助操作)のボタンのバリエーションがあります。今後のリリースで、シンプルなアイコンやテキスト コンテンツの丸いボタンに対応する予定です(Ia6942)。

バージョン 1.0.0-alpha02

2023 年 4 月 5 日

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

バグの修正

  • Wear Compose Material 3 に DefaultTextStyle を追加しました。これにより、PlatformTextStyle.includeFontPadding がデフォルトで true(現在の設定)に設定されます。これにより、将来的にフォントのパディングをデフォルトで無効にする設定を Compose ライブラリと同期できるようになります(背景用の Compose のフォントのパディングを修正するをご覧ください)。(I7e461)。

バージョン 1.0.0-alpha01

2023 年 3 月 22 日

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

新機能

  • マテリアル 3 はマテリアル デザインの進化版で、テーマ設定が更新され、コンポーネントの再設計が行われています。Wear Compose のマテリアル 3 は、Android のマテリアル 3 Compose ライブラリと調和するように設計されています。この最初のアルファ版リリースには、次のものを備えた初期段階の機能実装が含まれています。

    • マテリアル テーマ - ライブラリ内のコンポーネント全体で一貫したカラーパターン、タイポグラフィ、シェイプを設定します。マテリアル 3 テーマで、アクセシビリティの高いコントラストをサポートするため、色が変更されました。(I84005)。
    • テキスト/アイコン - Wear Compose アプリの構成要素(I8e06a
  • Google は、Wear マテリアル(androidx.wear.compose:compose-material)と Wear マテリアル 3(androidx.wear.compose:compose-material3)を並行して開発していきます。今後のマテリアル 3 リリースでは、ウィジェット セットが拡張され、ボタン、選択ツール、スライダーなど、Wear OS 向け Compose の使い慣れた他のコンポーネントが追加される予定です。

  • Wear マテリアル ライブラリと Wear マテリアル 3 ライブラリは相互に排他的であり、予期しない不整合につながる可能性のある異なるテーマを参照しているため、同じアプリに混在させないでください。

バージョン 1.4

バージョン 1.4.0-beta03

2024 年 6 月 12 日

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

バグの修正

  • Modifier.rotaryScrollable を更新し、「focusable」の使用を「focusTarget」に置き換え、パフォーマンスを向上させました。(Id294b)。
  • ProgressIndicatorTalkBack で通知を繰り返す問題を修正しました。(I94563)。
  • Wear Compose ライブラリのベースライン プロファイルが更新されました。(I3cbc3)。

バージョン 1.4.0-beta02

2024 年 5 月 29 日

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

バグの修正

  • 切り捨ての問題に対処するため、曲線テキストからスクリーン リーダーに渡される境界線の幅を拡大しました(Id865f)。
  • スクリーン リーダーに渡される HorizontalPageIndicator の境界を制限しました。以前は、インジケーターが全画面を占有していました(Id8d7a)。

バージョン 1.4.0-beta01

2024 年 5 月 14 日

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

Wear OS 向け Compose の 1.4-beta01 リリースは、このリリースのライブラリの機能が完全で、API がロックされていることを示します(試験運用版とマークされている場合を除く)。Wear Compose 1.4 には、次の新機能が含まれています。

  • Modifier.rotaryScrollable を追加しました。これは、ロータリー イベントをスクロール可能なコンテナに接続する新しい修飾子です。これにより、ユーザーは Wear OS デバイスでリューズや回転ベゼルを使用してスクロールできるようになります。さらに、ScalingLazyColumnPicker がデフォルトでロータリー入力をサポートするようになりました。rotaryScrollableBehavior パラメータを使用して、スクロール動作またはスナップ動作を設定します。スナップ動作については、タップ スクロールでも flingBehavior パラメータを使用してスナップを指定することをおすすめします。
  • SwipeDismissableNavHost で、アプリ内遷移のエントリ アニメーションが提供されるようになりました。
  • 画面が最初に表示されるときに、デフォルトで PositionIndicator が表示されるようになりました。
  • SelectableChipSplitSelectableChipToggleChip のバリエーションとして追加されました。これを RadioButton と一緒に使用して、ユーザー補助の切り替え可能なセマンティクスではなく、選択可能なセマンティクスを提供します。
  • ListHeader で、大きなフォントサイズに対応するためにコンテンツに高さを追加する必要がある場合に、高さの調整がサポートされるようになりました。

バグの修正

  • 選択可能なチップがすでに選択されている場合に、ダブルタップで切り替えが読み上げられるバグを修正しました。(I7ed88)。

バージョン 1.4.0-alpha08

2024 年 5 月 1 日

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

API の変更

  • 新しいロータリー API に次の変更を加えました。Modifier.rotary の名前を Modifier.rotaryScrollable に変更しました。RotaryBehavior インターフェースの名前を RotaryScrollableBehavior に、その関数 handleScrollEvent の名前を performScroll に変更しました。RotaryScrollableAdapter の名前を RotaryScrollableLayoutInfoProvider に変更し、scrollableState プロパティを削除しました。(I0c8a6)。
  • ロータリー API に変更を加え、RotaryScrollableLayoutInfoProvider の名前を RotarySnapLayoutInfoProvider に変更しました(このプロバイダはスナップを使用するロータリーでのみ必要なため)。RotaryScrollableDefaults.snapBehavior snapOffsetsnapOffset パラメータの型を Int から Dp に変更しました。(Iddebe)。
  • SplitSelectableChipclickInteractionSource パラメータの名前を containerInteractionSource に変更しました。(Ia8f84)。
  • SplitSelectableChip のクリック コールバック パラメータ名を onClick から onSelectionClick に、onBodyClick から onContainerClick に更新しました。(I32237)。

バグの修正

  • PositionIndicator(スクロールバー)がスクロール可能なコンテンツに重なるバグを修正するために、PositionIndicator の水平方向のパディングを 2 dp(以前は 5 dp)に更新しました。この変更により、パディングの変更により、PositionIndicator を含む既存のスクリーンショットが破損することが予想されます。(I57472)。
  • 新しいロータリー API のドキュメントを改善し、低解像度のロータリー デバイスと高解像度のロータリー デバイスの違いを説明しました。(I63abe)。
  • 補間されたアルファ値が 0 未満の場合にトリガーされる可能性がある、SwipeDismissableNavHost での範囲外の例外に対処しました。(Ib75a1b/335782510)。

バージョン 1.4.0-alpha07

2024 年 4 月 17 日

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

API の変更

  • Modifier.rotary を追加しました。これは、ロータリー イベントをスクロール可能なコンテナに接続する新しい修飾子です。これにより、ユーザーは Wear OS デバイスでリューズや回転ベゼルを使用してスクロールできるようになります。さらに、ScalingLazyColumn と Picker がロータリー入力をデフォルトでサポートするようになり、スクロールまたはスナップの構成を指定する rotaryBehavior パラメータを含む新しいオーバーロードが追加されました。rotaryBehavior パラメータがスナップに設定されている場合は、タップによるスクロールのために、flingBehavior パラメータでもスナップを指定することをおすすめします。(I2ef6f)。
  • NestedScroll ソースのドラッグとフリングは、アニメーション(副作用)やマウスホイールとキーボード(UserInput)を含むこれらのソースの拡張定義に対応するために、UserInputSideEffect に置き換えられます。(I40579)。
  • 切り替えコントロール(Switch/Checkbox など)と選択可能なコントロール(RadioButton など)を明確に区別するために、SelectableChipSplitSelectableChip を追加しました。これにより、以前に追加された ToggleChip/SplitToggleChip のオーバーロードが selectionControl パラメータに置き換えられます。(Ia0217)。
  • ProgressIndicatorDefaultsIndeterminateStrokeWidth の可視性修飾子を public に更新しました。(I5b5a4)。

バージョン 1.4.0-alpha06

2024 年 4 月 3 日

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

バグの修正

  • Horologist から AndroidX にロータリーの動作を移行する大規模な取り組みの一環として、ロータリー サポートの内部ドラフトを追加しました。(I617d1)。
  • ロータリーの動作を Horologist から AndroidX に移行する大規模な取り組みの一環として、ハプティクスのサポートに関する内部ドラフトを追加しました。(I5568a)。

バージョン 1.4.0-alpha05

2024 年 3 月 20 日

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

API の変更

  • ScalingLazyListStateinitialCenterItemIndex プロパティと initialCenterItemScrollOffset プロパティを公開しました。(I0c616)。
  • ProgressIndicatorDefaults からの FullScreenStrokeWidth を公開しました。(Ibea23)。

バグの修正

  • ScalingLazyColumn から layoutInfo の呼び出し回数を減らすことで、PositionIndicator のパフォーマンスを向上させました。(Idc83d)。

バージョン 1.4.0-alpha04

2024 年 3 月 6 日

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

API の変更

  • toggleControl パラメータの代わりに selectionControl パラメータを受け取る ToggleChipSplitToggleChip の新しいオーバーロードを追加しました。これは、ユーザー補助の切り替え可能なセマンティクスではなく、選択可能なセマンティクスを提供するため、RadioButton コントロールとともに使用する必要があります。(I1d6d9
  • ToggleChipSplitToggleChip について、新しい selectionControl オーバーロードのパラメータ名を onSelected から onSelect に更新しました(I1a971)。

バージョン 1.4.0-alpha03

2024 年 2 月 21 日

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

API の変更

  • Modifier.inspectable ラッパーは非推奨になりました。この API では、必要以上に修飾子の無効化が作成されるため、この API の使用は推奨されていません。修飾子プロパティをツールに公開したい場合は、ModifierNodeElementinspectableProperties() メソッドを実装することをおすすめします。(Ib3236)。

バグの修正

  • WearPreview* アノテーションに関するドキュメントのバグを修正しました。(Id526d)。

バージョン 1.4.0-alpha02

2024 年 2 月 7 日

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

バグの修正

  • スワイプして表示する機能のバグを修正しました。このバグでは、別のアイテムをスワイプすることで、1 つのアイテム上でコミットされたアクションを操作(およびキャンセル)できました(Ide059)。
  • ListHeader をアップデートし、大きなフォントサイズに対応するためにコンテンツに高さを追加する必要がある場合に高さを調整できるようにしました。(I7290cb/251166127)。

バージョン 1.4.0-alpha01

2024 年 1 月 24 日

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

新機能

  • アプリ内遷移用のエントリ アニメーションを SwipeDismissableNavHost に追加しました。(cfeb79a
  • 画面が最初に表示されるときに、デフォルトで PositionIndicator が表示されるようになりました。この変更は、Wear の品質に関するガイドラインに準拠するために導入されたものです。残念ながら、以前は PositionIndicator が表示されなかったので、PositionIndicator を含む画面ではスクリーンショット テストを更新する必要があります。(419cef7)。

API の変更

  • サポートが終了した rememberRipple に代わる新しい ripple API を wear:compose-material ライブラリと wear:compose-material3 ライブラリに追加しました。また、一時的な CompositionLocalLocalUseFallbackRippleImplementation を追加し、マテリアル コンポーネントが非推奨の rememberRipple/RippleTheme API を使用するように戻します。これは次回の安定版リリースで削除される予定です。これは、カスタムの RippleTheme を指定する場合に、一時的な移行を支援することのみを目的としています。移行に関する情報やこの変更の背景情報については、developer.android.com をご覧ください。(af92b21)。
  • 不変になるように ColorScheme を更新しました。これにより、個々の色の更新は効率が悪くなりますが、より一般的な色の使用は効率的になりました。この変更が行われる理由は、大部分のアプリでは、主なユースケースとして個々の色を更新する必要がないためです。まだ可能ですが、再コンポーズ回数は以前よりも増えます。その結果、マテリアル コード全体を通じて状態サブスクリプションの量が大幅に減少し、より標準的なユースケースの初期化とランタイム コストに影響が及ぶことになるでしょう。(f5c48b7)。
  • API で MutableInteractionSource を公開する Wear マテリアルと Wear マテリアル 3 コンポーネントが更新され、デフォルトで null 値許容の MutableInteractionSource が公開されるようになりました。ここではセマンティックな変更はありません。null を渡すと MutableInteractionSource をホイスティングせず、必要に応じてコンポーネント内に作成されます。null に変更すると、一部のコンポーネントでは MutableInteractionSource が割り当てられなくなり、他のコンポーネントは必要なときにのみインスタンスの作成を遅らせることができるため、これらのコンポーネント全体のパフォーマンスが向上します。これらのコンポーネントに渡す MutableInteractionSource を使用しない場合は、代わりに null を渡すことをおすすめします。独自のコンポーネントでも同様の変更を加えることをおすすめします。(f8fa920)。
  • 展開可能な状態を保存するように rememberExpandableState を更新しました。これにより、別の画面に移動するとデータが保存され、元の画面に戻るとデータが復元されます。(5c80095)。

バグの修正

  • ライフサイクル対応リスナーを使用するように ReduceMotion 設定を更新しました。(7c6b122)。
  • TouchExplorationStateProvider のリスナーを更新し、ライフサイクル対応になりました(be28b01)。
  • パフォーマンスを向上させるため、CompactButton の Materialcore レイヤを削除しました(25db8e9)。
  • 例外を回避するため、NaN オフセットに対する BasicSwipeToDismissBox の堅牢性を高めました(b983739)。
  • アルファ値が 0,1 の範囲内になるように BasicSwipeToDismissBox を更新しました。
  • ToggleButtonSplitToggleButtonCheckboxSwitchRadioButton のバグを修正し、ユーザー補助に関するお知らせが繰り返されないようにしました(以前はセマンティック ロールが重複していました)(d11eeb7)。

バージョン 1.3

バージョン 1.3.1

2024 年 4 月 3 日

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

バグの修正

  • スワイプして表示する機能のバグを修正しました。別のアイテムをスワイプすることで、1 つのアイテム上でコミットされたアクションを操作(およびキャンセル)できました。(Ide059)。

バージョン 1.3.0

2024 年 1 月 24 日

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

1.2.0 以降の重要な変更

  • SwipeToDismissBoxState クラス、SwipeToDismissValue 列挙、Modifier.edgeSwipeToDismiss 拡張関数は、androidx.wear.compose.material パッケージではなく、androidx.wear.compose.foundation パッケージの各部分になりました。この更新されたアーキテクチャにより、他の設計上の考慮事項とは別にジェスチャー処理を実装できます。設定したテーマから色を適用するなど、マテリアル デザインのワークフローは個別に処理されます。
  • recommended swipe-to-reveal guidance の実装には、SwipeToRevealCard クラスと SwipeToRevealChip クラスが役立ちます。SwipeToRevealSample クラスは、これらのコンポーネントの使用方法を示しています。
  • 1.3.0-alpha02 リリースでは、ユーザーが選択したフォント スケーリングのサポートを向上させるために、Chip オブジェクトと ToggleChip オブジェクトの高さが大きくなるように変更されました。これにより、クリッピングが発生することがあります。この問題を修正するため、MaterialThemelarge シェイプの角の半径が大きくなりました(24 dp ではなく 26 dp)。Chip オブジェクトと ToggleChip オブジェクトは、この新しい角の丸みを使用して、Chip と ToggleChip の角でコンテンツがクリップされないようにします。

    • デフォルトの高さ 52 dp であるため、ほとんどの ChipsToggleChips は変更されません。ただし、Chip オブジェクトと ToggleChip オブジェクトにプライマリまたはセカンダリのラベルテキストが複数行含まれている場合や、高さがオーバーライドされている場合、スクリーンショット テストが壊れることがあります。

その他の変更

バージョン 1.3.0 で導入された変更の詳細については、beta01 リリースノートをご覧ください。

実装に関する推奨事項

  • 地図ベースのアプリなど、ユーザーが画面コンテンツをパンできるアプリの場合は、SwipeDismissableNavHost コンポーザブルで userSwipeEnabledfalse に設定してスワイプ処理をオフにし、ユーザーが前の画面に移動できるボタンを含めます。
  • スクロール リスト内でのフェードイン アニメーションや位置変更アニメーション中に、位置インジケーターのアニメーションをオフにするには、SnapSpec オブジェクトを使用します。
  • メディアアプリが再生するコンテンツを読み込むのを待っている間に、空白の Placeholder コンポーザブルを表示します。
  • オンデマンドでエキスパンド アイテムのコレクションを作成するには、試験運用版の ExpandableStateMapping クラスの使用を検討してください。

バージョン 1.3.0-rc01

2024 年 1 月 10 日

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

バグの修正

  • 26 dp の角の丸みを使用するように MaterialTheme ラージ シェイプを更新しました。これが Chip と ToggleChip で使用されるようになりました。この変更は、大きなフォントサイズに対応するためにコンテンツに高さを追加する必要がある場合に高さ調整をサポートするために必要です。そうしないと、既存のスタジアムの形状によってテキスト コンテンツがクリップされてしまいます。

    <ph type="x-smartling-placeholder">
    </ph> テキストの角が切り取られている
    図 1: 角でクリップされたテキスト
    で確認できます。 <ph type="x-smartling-placeholder">
    </ph> テキストが切り詰められていない
    図 2: 切り詰められていないテキスト。

    この変更により、スクリーンショット テストで不具合が生じることがあります。 (I2e6ae)。

バージョン 1.3.0-beta02

2023 年 12 月 13 日

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

バグの修正

  • BasicSwipeToDismissBox で意図していたスワイプ動作を復元しました。これは以前のリリースでは変更されており、移行のスライド部分は指が画面に触れている間に発生しました。(Id8e76)。

バージョン 1.3.0-beta01

2023 年 11 月 15 日

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

Wear OS 向け Compose の 1.3-beta01 リリースは、このリリースのライブラリの機能が完全で、API がロックされていることを示します(試験運用版とマークされている場合を除く)。Wear Compose 1.3 には、次の新機能が含まれています。

  • SwipeToDismissBoxStateSwipeToDismissValueModifier.edgeSwipeToDismissandroidx.wear.compose.material から androidx.wear.compose.foundation に移行されました。また、BasicSwipeToDismissBox の基になる「スワイプして閉じる」の実装も行われました。これにより、スワイプして閉じる操作の処理をマテリアル デザインとは別に使用できるようになりました(androidx.wear.compose.navigationSwipeDismissableNavHost など)。androidx.wear.compose.materialSwipeToDismissBox は、引き続きマテリアル デザインで使用することをおすすめします。これは、MaterialTheme から色を取得して、残りの実装を BasicSwipeToDismissBox にデリゲートするためです。
  • SwipeDismissableNavHost で新しい userSwipeEnabled パラメータがサポートされるようになりました。これにより、不要な画面のスワイプ処理を無効にできます。
  • BasicSwipeToDismissBox で、HierarchicalFocusCoordinator を使用したフォーカス処理が改善されました。
  • SwipeToReveal に、CardChip の推奨 UX ガイダンスに沿った新しい SwipeToRevealCard コンポーザブルと SwipeToRevealChip コンポーザブルがマテリアルに追加されました。サブアクションで元に戻す操作もサポートされています。
  • DefaultTextStyle は、Android プラットフォーム全体でフォントのパディングをオフにして、
  • ChipToggleChip が、ユーザー補助用の大きなフォントによって大きくなったコンテンツに合わせて高さが調整されるようになりました
  • PositionIndicator に、フェードイン、フェードアウト、位置変更アニメーションの個別のアニメーション仕様が追加されました。パフォーマンス上の理由から、スクロール可能なリストで使用する場合は、フェードインと位置の変更をオフにすることをおすすめします。
  • ExpandableStateMapping は、スコープで@Composable 作成しなくても、オンデマンドで作成する必要がある場合に、ExpandableStates を生成する新しい方法を提供します。
  • Placeholder で、コンテンツが準備完了状態でなくなった場合にリセットできるようになりました。また、モーションを減らす設定が Placeholder のシマリング効果とワイプオフ モーションに適用されるようになりました。

既知の問題

  • 画面が最初に表示されたとき、PositionIndicator は最初に表示されません。最初の 1.4 アルファ版で変更を行い、アニメーションなしで最初に表示されるようにする予定です。

API の変更

  • 基礎レベル SwipeToDismissBox の名前を BasicSwipeToDismissBox に変更しました。これにより、基盤レベルのコンポーネントとマテリアル レベルの SwipeToDismissBox の区別がより明確になります。後者は、スクリムで使用する色を MaterialTheme から取得し、残りの実装を BasicSwipeToDismissBox にデリゲートします。(Ibecfc)。
  • rememberExpandableStateMapping を試験運用版としてマークし、expandableItem のパフォーマンスを改善しました。(I5f6bc)。
  • Material SwipeToReveal Card API と Chip API の SwipeToRevealAction クラスを、SwipeToRevealPrimaryActionSwipeToRevealSecondaryActionSwipeToRevealUndoAction コンポーザブルを使用するスロットベースの API に置き換えました。新しい API の使用例については、サンプルコードをご覧ください。(Ia8943)。
  • PositionIndicator アニメーション フラグを AnimationSpec パラメータに置き換えました。個々のアニメーションを無効にするには、snapAnimationSpec として渡します。(I6c523)。

バグの修正

  • サイズが制限されているときに制限された曲線テキストによってトリガーされるバグを修正しました(I50efe)。
  • curvedComposable に関連する潜在的な NaN クラッシュに対処しました(I970eb
  • PositionIndicator の位置変更のハイライト アニメーションの削除を元に戻しました。(Ieb424)。
  • パフォーマンス向上のため、マテリアル チップのマテリアル コア層を削除しました。(If2dcb)。

バージョン 1.3.0-alpha08

2023 年 10 月 18 日

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

API の変更

  • さまざまなアニメーションを制御するために、PositionIndicator オーバーロードに個別のフラグ showFadeInAnimationshowFadeOutAnimationshowPositionAnimation を追加しました。以前の API は非推奨になり、新しい API に呼び出しが転送されます。パフォーマンス上の理由と UX の一貫性を確保するため、スクロール可能なリストで PositionIndicator を使用する場合は、showFadeInAnimation フラグと showPositionAnimation フラグをオフにすることをおすすめします。PositionIndicator を単独のインジケーター(音量の変更など)として使用する場合は、3 つのアニメーションすべてをオンにすることをおすすめします。(I44294)。
  • 「スワイプして閉じる」機能を wear.compose.foundation に移行したことに伴い、マテリアルの SwipeToDismissBoxStateSwipeToDismissValueedgeSwipeToDismiss のサポートを終了しました。wear.compose.foundation の同等の要素に置き換えてください。(Iee8c9)。

バグの修正

  • Wear Compose の基盤、マテリアル、ナビゲーション ライブラリのベースライン プロファイルを更新しました。(Idb060)。
  • 画面が最初に表示されたときに PositionIndicator がアニメーション化されるように、以前の CL で導入された PositionIndicator の動作変更を元に戻しました。同様の変更を初期の 1.4 アルファ版で加える予定です。これにより、PositionIndicator はアニメーションなしで最初に表示されます。(I41843)。
  • PositionIndicator のパフォーマンス上の問題に対処しました。(I1c654b/302399827)。
  • 派生状態ではなく State<Boolean> に依存するように、タッチデータ探索状態プロバイダのデフォルト実装のパフォーマンスを最適化しました。(Ieec4d)。
  • Android 13 以降では、systemGestureExclusion の長方形を設定しました。(Ib1f4b)。

バージョン 1.3.0-alpha07

2023 年 10 月 4 日

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

API の変更

  • さまざまなアニメーションを制御するために、PositionIndicator に個々のフラグ(showFadeInAnimationshowFadeOutAnimationshowPositionAnimation)を追加しました。以前の API は非推奨になり、新しい API に呼び出しが転送されます。パフォーマンス上の理由と UX の一貫性を確保するため、スクロール可能なリストで PositionIndicator を使用する場合は、showFadeInAnimation フラグと showPositionAnimation フラグをオフにすることをおすすめします。PositionIndicator を単独のインジケーター(音量の変更など)として使用する場合は、3 つのアニメーションすべてをオンにすることをおすすめします。(Ia2d63)。

バグの修正

  • プライマリ アクション テキストにフェード アニメーションを追加し、フルスワイプ展開時にセカンダリ アクションをフェードする/アイコンのスケールを変更することで、スワイプして出現するモーションを改善しました。(Ib7223)。
  • 「スワイプして表示」アクションをユーザー補助機能にすることをおすすめします。また、「スワイプで表示」サンプルにカスタムのユーザー補助アクションを追加しました。(I42224)。
  • SwipeToDismissBox のパフォーマンスが改善されました。たとえば、初期ロジックが再コンポーズをトリガーしないようにリファクタリングされています。SwipeToDismissBox が全画面サイズとして描画されるようになりました。(Ie0aa2)。
  • PositionIndicator が誤って表示されなくなるバグを修正しました。(I2091a)。
  • 再コンポーズを最適化することで、PositionIndicator のパフォーマンスを改善しました。その後、アニメーションを制御する新しいフラグ(fadeInfadeOutpositionChange)が追加されました(API の変更を参照)(Ifac7d)。
  • PositionIndicator の Microbenchmark テストを追加しました(Idf875)。

バージョン 1.3.0-alpha06

2023 年 9 月 20 日

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

バグの修正

  • SwipeToReveal での Modifier.edgeSwipeToDismiss のサポートを追加しました。(I95774b/293444286)。
  • マテリアルの SwipeToRevealChipSwipeToRevealCard のサンプルを追加しました。(Ieb974)。
  • Wear Compose Foundation とマテリアル ライブラリのベースライン プロファイルを更新しました。(I1dd1f)。

バージョン 1.3.0-alpha05

2023 年 9 月 6 日

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

バグの修正

  • スワイプで表示に処理を追加し、一度に 1 つのアイテムのみをスワイプできるようにしました。(I3cd7a)。
  • 実際の動作に合わせて ScalingLazyColumnDefaults のドキュメントを改善しました。(I886d3)。

バージョン 1.3.0-alpha04

2023 年 8 月 23 日

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

新機能

  • SwipeToReveal のセカンダリ アクションで「元に戻す」がサポートされるようになりました。(I7a22d)。

API の変更

  • Wear のマテリアル 3 ライブラリに HorizontalPageIndicator を追加しました。(Ifee99)。
  • androidx.wear.tooling.preview ライブラリを使用するように Wear Compose プレビュー ツールを更新しました。(Ib036e)。

バグの修正

  • 円形ボタンで修飾子が正しく連鎖していないバグを修正しました。(I5e162)。

バージョン 1.3.0-alpha03

2023 年 8 月 9 日

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

API の変更

  • カードとチップで SwipeToReveal を実装するために、マテリアルに 2 つの新しいコンポーザブルを追加しました。これらのコンポーザブルは、コンポーネントで推奨される UX ガイダンスに沿っているため、デベロッパーは Wear マテリアルの既存のコンポーネントを使用して SwipeToReveal を簡単に実装できます。(I7ec65)。
  • 以前にコメントに記載したとおり、API の制約として FloatRange アノテーションを有効にしました。(Icb401)。

バグの修正

  • ScalingLazyColumn の初期スクロール ロジックを onGloballyPositioned() 内に移動しました。(Ic90f1)。
  • PositionIndicatorProgressIndicatorSelectionControlsdrawWithCache を使用して、ストロークの割り当てを最適化しています。(I5f225b/288234617)。
  • 無効状態のチェックボックスのチェックマークの表示を修正しました。(Ib25bf)。
  • Placeholder をアップデートし、コンテンツが準備完了状態でなくなった場合にリセットしてプレースホルダを表示できるようにしました。(Ibd820)。
  • 不安定な Placeholder テストをいくつか修正しました(Idb560)。

バージョン 1.3.0-alpha02

2023 年 7 月 26 日

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

API の変更

  • @Composable スコープ内では必ずしも必要でなく、オンデマンドで作成する必要がある場合のために、ExpandableStates を生成する新しい方法である ExpandableStateMapping を用意しました(Iff9e0
  • SwipeToDismissBoxandroidx.wear.compose.material から androidx.wear.compose.foundation パッケージに移行されました。(I275fb)。
  • API ファイルを更新し、互換性の抑制にアノテーションを追加しました。(I8e87ab/287516207)。
  • ChipCompactChipToggleChip の高さ定数を公開しました(Idbfde
  • ChipCompactChip の水平方向と垂直方向のパディングを公開しました。(Ieeaf7)。
  • 新しい userSwipeEnabled パラメータを介して SwipeDismissableNavHost でスワイプ処理をオフにする機能を追加しました。(Id2a0bb/230865655)。
  • Wear Compose Foundation の新しい SwipeToDismissBox を使用するように Wear Compose Navigation ライブラリを更新しました。(I4ff8e)。

バグの修正

  • ボタンがあるときに expandedItem がボタンの動作をクリックした後に、正しいコンテンツが表示されない Z オーダーのバグを修正しました。(I1899db/289991514)。
  • HierarchicalFocusCoordinator を使用した SwipeToDismissBox(したがって SwipeDismissableNavHost)のフォーカス処理を改善しました(I45362b/277852486)。
  • SwipeableV2 でのジェスチャー処理を修正しました。(I89737)。
  • 1.2 リリースのベースライン プロファイルは確定済みです。(Id5740)。
  • SwipeToDismissBox が Foundation に移行された後、マテリアルの SwipeToDismissBox 実装は Foundation に転送され、そのテーマからデフォルトのカラー値を提供するようになりました(If8451)。
  • ListHeader に見出しのセマンティクスを追加しました。(Ic5420)。
  • ChipToggleChip で、ユーザー補助のための大きなフォントによって拡大したコンテンツに合わせて、必要に応じて高さが調整されるようになりました。(Iaf302)。
  • ユーザー補助機能のために、SplitToggleChip のタップ可能な領域のセマンティック ロールのバグを修正しました。(Ieed3a)。
  • [モーションを減らす] の設定で、プレースホルダのシマリング効果とワイプオフ モーションがオフになりました。(I91046)。
  • StepperInlineSlider で長押しによる繰り返しクリックがサポートされるようになりました。これにより、[+] ボタンまたは [-] ボタンを長押しすることで StepperInlineSlider の値をすばやく増減できます。(I27359)。

バージョン 1.3.0-alpha01

2023 年 6 月 21 日

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

バグの修正

  • 1.2.0-alpha071.2.0-alpha10 でお知らせしたとおり、このたび DefaultTextStyle を変更して、Android プラットフォーム全体でフォントのパディングを無効にしました。これにより、大きなフォントサイズでテキストがクリッピングされるケースに対処できます。また、画面レイアウトにも影響するため、スクリーンショットのテストを更新する必要があります。たとえば、ここではテキストのクリッピングを確認できます(Ic6a86)。
で確認できます。 <ph type="x-smartling-placeholder">
</ph> 大きいフォントサイズで切り取られたテキスト
図 1: テキストは切り詰められています。
  • フォントのパディングをオフにすると表示されなくなります。
で確認できます。 <ph type="x-smartling-placeholder">
</ph> 大きいフォントサイズでテキストが切り詰められていない
図 2: 切り詰められていないテキスト。
  • wear.compose.material の API 依存関係となるように wear.compose.foundation を更新しました(I72004b/285404743)。
  • SwipeToDismissBox のバグを修正しました。バックグラウンド キーとコンテンツ キーが remember ブロックに渡され、コンテンツまたは背景が変更されたときに新しい修飾子が作成されるようになりました。(Ib876cb/280392104)。
  • 12 時間または 24 時間の形式を選択する際にロケールを使用するように TimeText を更新しました。(If4a3d)。
  • SwipeToDismissBox contentScrimColor のデフォルト パラメータの不整合を修正しました。(I2d70f)。
  • SwipeToReveal でのモーション処理を改善しました。(I28fb7)。

既知の問題

  • ユーザー補助の要件は、ユーザーが設定したフォントサイズをサポートすることです。複数行のチップは、大きなフォントサイズで表示されるとテキストが切り詰められる可能性があることを認識しています。そのため、そのような場合に高さを調整するため、初期のアルファ版 1.3 でチップをアップデートします。

バージョン 1.2

バージョン 1.2.1

2023 年 10 月 18 日

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

バグの修正

  • PositionIndicator が誤って消えるバグを修正しました。(7a167f)。

バージョン 1.2.0

2023 年 8 月 9 日

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

1.1.0 以降の重要な変更

  • Wear OS 1.2.0 向け Compose の安定版リリース(詳細
  • Wear Compose 1.2 の主な変更点のリストについては、リリースノート(Compose for Wear OS 1.2 Beta01)をご覧ください。

バージョン 1.2.0-rc01

2023 年 7 月 26 日

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

バグの修正

  • 1.2 リリースのベースライン プロファイルが確定しました(Id5740)。

バージョン 1.2.0-beta02

2023 年 6 月 7 日

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

新機能

  • ScalingLazyColumn でのスケーリングとフェードを無効にする、新しい試験運用版 LocalReduceMotion CompositionLocal 変数を追加しました。(I58024)。

バグの修正

  • Wear Compose のファンデーションとマテリアル ライブラリのベースライン プロファイルを更新しました(I4725d)。
  • SwipeToDismissBox contentScrimColor パラメータのデフォルト値の不一致を修正しました(I2d70f)。
  • IncludeFontPadding 設定に使用される DefaultTextStyle のデフォルト値を修正しました(I737ed)。

バージョン 1.2.0-beta01

2023 年 5 月 24 日

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

Wear OS 1.2 向け Compose の内容

Wear OS 向け Compose の 1.2-beta01 リリースは、このリリースのライブラリの機能が完全で、API がロックされていることを示します(試験運用版とマークされている場合を除く)。Wear Compose 1.2 には、次の新機能が含まれています。

  • expandableItemexpandableItems は、ScalingLazyColumn 内でのアイテムの展開をサポートする 2 つの新しい Foundation コンポーネントです。行数を含むテキストなど、1 つのエキスパンド アイテムには expandableItem を使用します。展開可能なアイテムのグループには expandableItems を、展開後に折りたたむボタンの作成を簡素化するには expandableButton を使用します。
  • HierarchicalFocusCoordinator - この試験運用版のコンポーザブルにより、コンポジションのサブツリーをフォーカス有効またはフォーカス無効としてマークできます。
  • Picker - ユーザーによるスクロールに対して選択ツールを有効にするかどうかを制御する userScrollEnabled が API に追加されました。
  • PickerGroup - 複数の選択ツールをまとめて処理するための新しいコンポーザブル。HierarchicalFocusCoordinator API を使用して選択ツール間のフォーカスを処理し、選択ツールのアイテムの自動中央揃えを有効にします。
  • Placeholder - シマーと「ワイプオフ」アニメーションを更新しました。コンテンツの準備ができるとすぐにワイプオフ効果が適用されるようになりました。
  • ScalingLazyColumn - ScalingLazyColumn および関連するクラスを androidx.wear.compose.material.ScalingLazyColumn から androidx.wear.compose.foundation.lazy.ScalingLazyColumn に移行しました。Foundation.Lazy バージョンを使用するには更新してください。
  • SwipeToReveal - 既存の「長押し」パターンを補完し、セカンダリ アクションにアクセスするための手段として、スワイプして表示するための試験運用版のサポートを追加しました。
  • Stepper - デフォルトの範囲セマンティクスの無効化を容易にするために、追加の enableRangeSemantics パラメータを含むオーバーロードが追加されました。
  • Previews - Wear 画面でコンポーザブルをプレビューするために、次のカスタム アノテーションを追加しました。WearPreviewSmallRound は、小さな円形のデバイスでコンポーザブルをプレビューします。WearPreviewLargeRound は、大きな円形のデバイスでコンポーザブルをプレビューします。WearPreviewSquare は、正方形のデバイスでコンポーザブルをプレビューします。また、次のマルチプレビュー アノテーションは、WearPreviewFontScales が複数のフォントサイズを持つ Wear デバイスでコンポーザブルをプレビューしているのに対し、WearPreviewDevices はさまざまな Wear デバイスでコンポーザブルをプレビューします。
  • DefaultTextStyle を Wear Compose に追加しました。これにより、PlatformTextStyle.includeFontPadding プロパティがデフォルトで true に設定されます(これが現在の設定です)。これにより、デフォルトでフォントのパディングをオフにしている機能を、1.3 アルファ版の初期バージョンの Compose ライブラリと同期できるようになります。詳しくは、1.2.0-alpha10 をご覧ください。

新機能

  • 試験運用版として、reduce_motion 設定がオンになっているときのスケーリングとフェード アニメーションの無効化に対するサポートを追加しました。(I58024)。

バグの修正

  • CurvedSize.ktangularWidthDp のドキュメントを改善しました。(Iab75c
  • SwipeDismissableNavHost が、空のバックスタックの潜在的な原因を含む警告をログに記録するようになりました。これは、バックスタックが空になったときにスローされた IllegalArgumentException が原因で発生する予期しないクラッシュを防ぐためです。(I04a81b/277700155)。

バージョン 1.2.0-alpha10

2023 年 5 月 10 日

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

新機能

  • サブアクションにアクセスするための手段として、「スワイプして表示」のサポートを追加しました。このパターンは、ユーザーが(別の)二次的アクションを表示する既存の方法である「長押し」パターンを補完するものです。(I60862)。

API の変更

  • SwipeToReveal のアクション コンポーザブルに RevealScope を追加しました。これにより、追加のアクションを表示するオフセットにアクセスできます。(I3fd56)。

バグの修正

  • フリング後に ScalingLazyColumn が Wear API 33 で停止する問題を修正しました(Ic4599)。
  • ジャンク削減のために PositionIndicator のパフォーマンスを向上させました。(I35e92)。
  • Chip と CompactChip で、セマンティック ロールが Role.Button に設定されなくなったバグを修正しました。(I93f91b/277326264)。

既知の問題

  • Android Studio で、@WearPreviewDevices および @WearPreviewFontScales アノテーションが付けられたときにプレビューのレンダリングが失敗するバグが特定されました。近日中に修正をリリースする予定です。その他の Wear プレビュー アノテーションは、Android Studio Giraffe 2022.3.1 以降で意図したとおりに機能します。

  • バージョン 1.2.0-alpha07 では、DefaultTextStyle を Wear Compose に追加し、既存の PlatformTextStyle.includeFontPadding 値を true のままにしました。背景については、Compose でフォントのパディングを修正するをご覧ください。Android プラットフォーム全体で一貫性を保つため、初期の 1.3 アルファ版でフォントのパディングを無効にするよう DefaultTextStyle を変更します。これにより、大きなフォントサイズでテキストがクリッピングされるケースに対処できます。また、画面レイアウトに影響する可能性があるため、スクリーンショット テストの更新が必要になります。たとえば、大きなフォントサイズの場合、テキストがクリッピングされます。

で確認できます。 <ph type="x-smartling-placeholder">
</ph> 大きいフォントサイズで切り取られたテキスト
図 1: テキストは切り詰められています。
  • フォントのパディングをオフにすると表示されなくなります。
で確認できます。 <ph type="x-smartling-placeholder">
</ph> 大きいフォントサイズでテキストが切り詰められていない
図 2: 切り詰められていないテキスト。

テーマのタイポグラフィをオーバーライドすることで、新しい設定を採用できるようになりました。コード例をご覧ください。

バージョン 1.2.0-alpha09

2023 年 4 月 19 日

androidx.wear.compose:compose-*:1.2.0-alpha09 がリリースされました。バージョン 1.2.0-alpha09 に含まれるコミットについては、こちらをご覧ください

API の変更

  • DP で角度幅を設定するための angularSizeDpCurvedModifier API に追加(I89a52

バグの修正

  • 時間選択ツールのデモでユーザー補助機能の問題を修正しました(Id0eb7

バージョン 1.2.0-alpha08

2023 年 4 月 5 日

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

API の変更

  • ExpandableItemsState の名前を ExpandableState に変更しました。(If85ea)。
  • コンテンツを展開すると折りたたむボタンを簡単に作成できるように expandableButton を追加しました。また、エキスパンドの例も更新しました。(Iae309)。

バグの修正

  • 展開可能なサンプルを改善し、より多くの可能性を表示できるようにしました。コンテンツがアニメーションの中央に配置されるように expandableItem のアニメーションを変更しました。(I2f637)。
  • State を使用して手動で色をアニメーション化する際に余分な再コンポーズを回避するように ToggleControls を更新しました。(I5d319)。

バージョン 1.2.0-alpha07

2023 年 3 月 22 日

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

API の変更

  • 1.2.0-alpha06 で追加されるエキスパンド アイテムのコンポーネントをマテリアルから基盤に移動しました。これは、MaterialTheme への意味のある参照がなかったためです。(Ib0525)。

バグの修正

  • 選択ツールにフォーカスがない場合に PickerGroup がフォーカスを正しく処理できるようにすることで、PickerGroup を使用する画面で発生していたクラッシュを修正しました。また、Picker のデモに RSB スクロールのサポートを追加しました。(If8c19)。
  • ダイアログの遷移が改善されました。イントロの遷移が、エンディングの遷移に合わせてよりスムーズになりました。(Ib5af9)。
  • DefaultTextStyle を Wear Compose に追加しました。これにより、PlatformTextStyle.includeFontPadding プロパティがデフォルトで true に設定されます(これが現在の設定です)。これにより、フォントのパディングをデフォルトで無効にした状態を、今後 Compose ライブラリと同期できるようになります。背景については(Compose のフォントのパディングを修正する)をご覧ください。(I2aee8)。
  • Google Play ストアへのアプリの公開をブロックする activity-compose による UpsideDownCake プレビュー依存関係を元に戻しました。(I6443d)。

バージョン 1.2.0-alpha06

2023 年 3 月 8 日

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

API の変更

  • 曲線世界でコンポーネントを重ねて配置する CurvedBox コンポーネントを追加します。(I29200)。
  • エキスパンド アイテムを追加しました - ScalingLazyColumn の展開可能なアイテムのグループ、または展開可能な 1 つのアイテム(行数が拡張されるテキストなど)をサポートするために、2 つの新しいコンポーネントを追加しました。(I95dd5)。
  • Wear 画面でコンポーザブルをプレビューするために、次のカスタム アノテーションを追加しました。WearPreviewSmallRound は、小さな円形のデバイスでコンポーザブルをプレビューします。WearPreviewLargeRound は、大きな円形のデバイスでコンポーザブルをプレビューします。WearPreviewSquare は、正方形のデバイスでコンポーザブルをプレビューします。また、次のマルチプレビュー アノテーションは、WearPreviewFontScales が複数のフォントサイズを持つ Wear デバイスでコンポーザブルをプレビューしているのに対し、WearPreviewDevices はさまざまな Wear デバイスでコンポーザブルをプレビューします。これらのプレビューを使用するには、最新の Android Studio(Giraffe Canary 6)以降が必要です。これらのアノテーションが目的に合わない場合でもプレビューを使用できます。パラメータを使用してさらにカスタマイズできます。(I397ff)。
  • HierarchicalFocusCoordinator は試験運用版としてマークされていますが、その幅広い適用範囲を考慮し、コア Compose ライブラリに移行すべきだと考えています。(I3a768)。

バグの修正

  • HierarchicalFocusCoordinator のバグを修正しました。focusEnabled パラメータに渡されたラムダが変更されたときに、新しいラムダを正しく使用するようになりました。(Icb353)。
  • ButtonCompactButtonChipCompactChipToggleButton でプライマリ カラーを背景として使用する場合のデフォルトの無効なコンテンツの色を背景に更新しました。これにより、ユーザー補助機能のコントラストが向上します。(I527cc)。

バージョン 1.2.0-alpha05

2023 年 2 月 22 日

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

API の変更

  • オプションとして最小制約をコンポーザブルに伝播できるように PickerGroup API を更新しました。true に設定すると、親コンポーザブルから渡された最小制約が PickerGroup で許可されます。false に設定すると、PickerGroup は最小制約をリセットします。(I3e046
  • 特定の Picker オプションへのプログラマティック アニメーションをサポートするため、Picker API に animateScrollToOption を追加しました。(I6fe67

バグの修正

  • 右から左へのレイアウトをサポートするように HorizontalPageIndicator を更新しました。(Ia4359
  • HorizontalPageIndicator での右から左へのレイアウトに対するスクリーンショット テストを追加しました。(I6fbb8
  • TestNavHostController を使用する SwipeDismissableNavHostTest にテストを追加しました。(I61d54

バージョン 1.2.0-alpha04

2023 年 2 月 8 日

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

新機能

  • focus API を使用して複数の Picker をまとめて処理するための PickerGroup。さまざまな Picker 間でフォーカスを処理し、パラメータに基づいて Picker の自動中央揃えを有効にします。デベロッパーは、この機能を使って、グループのイベントを処理する一方でさまざまな Picker の間でフォーカスを変更できます。TalkBack モードでは、PickerGroup は、選択された Picker にグループからフォーカスを移動することで、TalkBack のフォーカスを処理します。(I60840

API の変更

  • デフォルトの範囲セマンティクスの無効化をスムーズに進めるため、enableRangeSemantics パラメータとともに Stepper にオーバーロードを追加しました。(Ia61d4

バグの修正

  • ScalingLazyColumn を横方向のスクロール ページ内にネストできるようにしました。(Iec3f8b/266555016
  • Stepper の kdocs と StepperTest テストのクリーンアップを改善しました。(Ic118e
  • androidx.navigation の依存関係をバージョン 2.5.3 に更新しました。(If58ed

バージョン 1.2.0-alpha03

2023 年 1 月 25 日

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

API の変更

  • ScalingLazyColumn(および関連するクラス)を androidx.wear.compose.material.ScalingLazyColumn から andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn に移行しました(移行については、こちらの例をご覧ください)。独自のマテリアル コンポーネントではないため、この新しい移行先は compose.foundation.lazy.LazyColumn の場所に近くなり、より自然になりました。この変更は、既存のマテリアル ライブラリと並行して取り組むことになる、新しい Material3 ライブラリに備えて行われたものです。(I060e7

以下の変更はマテリアルから Foundation.Lazy への ScalingLazyColumn の移行の一環です。

  • マテリアルの ScalingLazyColumn をターゲットとする PositionIndicator は非推奨となりました。Foundation.Lazy ScalingLazyColumn に更新してください。また、anchorType フィールドが ScalingLazyListLayoutInfo に追加されました。(I29d95
  • ScalingLazyColumn が Wear Compose Material パッケージで非推奨になりました。(I16d34
  • Wear Compose Foundation.LazyScalingLazyListState を使用するよう ScrollAway 修飾子を更新し、Wear Compose Material の ScalingLazyListState を取得するオーバーロードを非推奨としました。(Ifc42c
  • Foundation.LazyScalingLazyListState を使用するよう Dialog API を更新し、マテリアルの ScalingLazyListState を使用するオーバーロードを非推奨としました。(Ic8960
  • Foundation.LazyScalingParams を使用するよう Picker API を更新し、マテリアルの ScalingParams を使用するオーバーロードを非推奨としました。(Idc3d8

バグの修正

  • 値が実際に変更された場合にのみ更新をプッシュするようにすることで ScalingLazyListState.centerItemIndex での不要な再コンポジションの原因となっていたバグを修正しました。(Ia9f38
  • SwipeToDismissBox のパフォーマンスを改善しました。(I3933b
  • Wear Compose Foundation に ScalingLazyColumn のベンチマーク テストを追加しました。(Ie00f9
  • Foundation.Lazy の同等のものを使用するようにマテリアルの一部の内部 ScalingLazyColumn クラスメソッドを更新しました。(I38aab
  • Picker テストの問題を修正し、オフセットありのスクロールをチェックするためのテストを追加しました。(I6ac34
  • マテリアルの ScalingLazyColumn ではなく Foundation.Lazy に依存するように ScalingLazyColumn の統合デモを移行しました。(Ic6caa
  • DatePicker デモにオプションの fromDate/toDate パラメータを追加しました。(I961cd

バージョン 1.2.0-alpha02

2023 年 1 月 11 日

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

API の変更

  • Android Compose UI テストが、フレームを(waitForIdle などを介して)アイドル状態にするためフレームの実行時にフレームごとにレイアウトパスを実行するようになりました。この変更は、レイアウト アニメーションの個々のフレームでアサートするテストに影響する可能性があります。(I8ea08b/222093277
  • BasicText と動作を同一にするためパラメータ minLines が Wear Text に追加されました。(I24874
  • CompactChipTapTargetPadding が一般公開され、ドキュメントに掲載されるようになりました。(If1e70b/234119038

バグの修正

  • wear.compose パッケージのマルチプラットフォーム ビルドを無効にしました。(Iad3d7
  • scrollToOption の KDocs を修正しました。(I6f9a0
  • rememberUpdatedState を使用するよう PlaceholderState.rememberPlaceholderState() を更新し、onContentReady ラムダの場合に状態が更新されるようにしました。(I02635b/260343754
  • Modifier.graphicsLayer に追加された新しい合成戦略を利用して Picker コンポーネントでテキストの揺れが発生する問題を修正しました。(I99302
  • DatePicker デモでのちらつきの原因だったバグを修正しました。(I660bd
  • 12 時間形式と日付選択ツールのデモのユーザー補助を改善しました。(I05e12
  • 時間形式と日付選択ツールのデモを更新し、選択ツールが選択解除時に RSB の変更の影響を受けないようにしました。(I4aecb

バージョン 1.2.0-alpha01

2022 年 12 月 7 日

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

新機能

  • 次のアニメーション ループが開始するのを待つのではなく、コンテンツの準備ができたらすぐに「ワイプオフ」効果が適用されるように、試験運用版のプレースホルダ機能を更新しました。また、シマーとワイプオフのアニメーションも更新しました。(I5a7f4

API の変更

  • HierarchicalFocusCoordinator コンポーザブルを追加して、コンポジションのサブツリーをフォーカス有効またはフォーカス無効としてマークできるようにしました。(I827cb
  • ToggleButton のセマンティック ロールをオーバーライドする新しいプロパティを追加しました。(I67132
  • TimeText の AM/PM を削除するように TimeTextDefaults.TimeFormat12Hours を更新しました。これにより、TimeText API の timeSource パラメータのデフォルト値が変更されます。(I1eb7f
  • マルチ選択ツールによる画面のユーザー補助機能を改善するために、Picker API を拡張しました。選択ツールがユーザーのスクロールに対してアクティブかどうかを制御する、新しいプロパティ userScrollEnabled が追加されました。(I3c3aa

バグの修正

  • 最終的な UX の仕様に合わせて、OutlinedButton/OutlinedCompactButton のデフォルトの枠線の太さを 2.dp から 1.dp に変更しました。(Icf84d
  • 空の ScalingLazyColumn に最初に追加された項目が所定の位置でスクロールされるように見える効果を軽減するために、コンテンツが空のときに推定 autoCentering topPadding を追加しました。この変更により、最初の項目の高さ 0.dp であると想定して必要なトップ パディングの量が計算されます。ScalingLazyListAnchorType.ItemStart の場合、正しいトップ パディングが計算されます。ScalingLazyListAnchorType.ItemCenter の場合、この計算は正しくありません。これは、コンテンツのサイズを正しく設定するために項目の高さが必要なためです。その結果、項目の実際の高さに基づいて所定の位置で少しスクロールされるように見える効果が発生します。(I239a4
  • Wear プラットフォームに合わせて SwipeToDismiss アニメーションに適用される背景スクリムを更新しました。(I9003e
  • 0 で除算するエラーを回避するために、サイズ 0 のリスト項目に対する LazyListStateScalingLazyListStatePositionIndicator の処理を修正しました。(Ic28dd

バージョン 1.1

バージョン 1.1.2

2023 年 2 月 8 日

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

バグの修正

  • 値が実際に変更された場合にのみ更新をプッシュするようにすることで ScalingLazyListState.centerItemIndex での不要な再コンポジションの原因となっていたバグを修正しました。(Ia9f38

バージョン 1.1.1

2023 年 1 月 11 日

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

バグの修正

  • rememberUpdatedState を使用するよう PlaceholderState.rememberPlaceholderState() を更新し、onContentReady ラムダの場合に状態が更新されるようにしました。(I02635b/260343754

バージョン 1.1.0

2022 年 12 月 7 日

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

1.0.0 以降の重要な変更

  • Wear OS 1.1.0 向け Compose の安定版リリースです(詳細)。
  • Wear Compose 1.1 の主な変更点の一覧については、リリースノート(Compose for Wear OS 1.1 Beta01)をご覧ください。

新機能

  • 次のアニメーション ループが開始するのを待つのではなく、コンテンツの準備ができたらすぐに「ワイプオフ」効果が適用されるように、試験運用版のプレースホルダ機能を更新しました。また、シマーとワイプオフのアニメーションも更新しました。(I5a7f4

バグの修正

  • 最終的な UX の仕様に合わせて、OutlinedButton/OutlinedCompactButton のデフォルトの枠線の太さを 2.dp から 1.dp に変更しました。(Icf84d
  • 空の ScalingLazyColumn に最初に追加された項目が所定の位置でスクロールされるように見える効果を軽減するために、コンテンツが空のときに推定 autoCentering topPadding を追加しました。この変更により、最初の項目の高さ 0.dp であると想定して必要なトップ パディングの量が計算されます。ScalingLazyListAnchorType.ItemStart の場合、正しいトップ パディングが計算されます。ScalingLazyListAnchorType.ItemCenter の場合、この計算は正しくありません。これは、コンテンツのサイズを正しく設定するために項目の高さが必要なためです。その結果、項目の実際の高さに基づいて所定の位置で少しスクロールされるように見える効果が発生します。(I239a4
  • Wear プラットフォームに合わせて SwipeToDismiss アニメーションに適用される背景スクリムを更新しました。(I9003e
  • 0 で除算するエラーを回避するために、サイズ 0 のリスト項目に対する LazyListStateScalingLazyListStatePositionIndicator の処理を修正しました。(Ic28dd

バージョン 1.1.0-rc01

2022 年 11 月 9 日

androidx.wear.compose:compose-foundation:1.1.0-rc01androidx.wear.compose:compose-material:1.1.0-rc01androidx.wear.compose:compose-navigation:1.1.0-rc01 がリリースされました。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください

バグの修正

  • PlaceholdersScrollAwayRadioButtonSwitchCheckboxOutlinedButtonOutlinedCompactButtonOutlinedChipOutlinedCompactChip のベースライン プロファイル ルールを追加しました。(I8249c
  • Modifier.scrollAway のバグを修正しました。これにより、指定された itemIndex が無効である(たとえば、アイテム インデックスが範囲外である)場合でも TimeText が表示されるようになりました。(I2137a
  • プラットフォームの実装に合わせて SwipeToDismissBox アニメーションを更新しました。最初のスクイーズ アニメーションの後、非表示がトリガーされると、画面が右にスライドして隠れるようになります。(I41d34
  • 最適化の一環として、Modifier.scrollAway を更新し、測定ブロック内の scrollState のみを読み取るようにしました。これにより、再測定のたびに修飾子が再コンポーズされることを回避できます。(I4c6f1
  • プレースホルダにドキュメントとサンプルを追加して、同じコンポーザブルに適用した場合の Modifier.placeholderModifier.placeholderShimmer の正しい順序を示しました。(Ie96f4b/256583229
  • 最終的な UX の仕様に合わせて、OutlinedCompactChip/OutlinedChip のデフォルトの枠線の太さを 2.dp から 1.dp に変更しました。(Ib3d8e
  • rememberPickerState で更新された入力が保存されず、入力の変更後にコンポーザブルが更新されないバグを修正しました。(I49ff6b/255323197
  • プレースホルダの UI を更新し、1)シマー グラデーションを画面サイズの 1.5 倍に変更し、2)シマーの進行のイージング(3 次ベジェ)を追加し、3)wipeOff アニメーションを高速化しました(250 ミリ秒)。(Id29c1
  • 画面上のコンポーネントの位置が考慮されていないため、チップとカードの背景が少し早めに消えるという、プレースホルダの wipeOff エフェクトにおける UI のバグを修正しました。(I2c7cb
  • プレースホルダの背景の描画を更新して、可能であれば色を重ねるのではなく合成するようにしました。これにより、切り抜いた複数のレイヤのアルファ ブレンディングのリスクを減らし、プレースホルダの背景の端で下の色がはみ出ないようにしました。(I2ea26
  • ビューポートの中心線の両側に 2 つのアイテムが 1 つずつある場合、最も近いものが centerItem と見なされるように、ScalingLazyListState.centerItemIndex/centerItemOffset の計算を修正しました。(I30709b/254257769
  • ScalingLazyColumn の初期化中に誤ったオフセットをレポートする ScalingLazyListState.layoutInfo.visibleItemsInfo のバグを修正しました。すべてのリスト アイテムが表示され、正しいオフセットが設定されるまで、空のリストが返されるようになりました。ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() をチェックして、ScalingLazyColumn の初期化が完了してアイテムが表示されていることを確認してください。(I3a3b8

バージョン 1.1.0-beta01

2022 年 10 月 24 日

androidx.wear.compose:compose-foundation:1.1.0-beta01androidx.wear.compose:compose-material:1.1.0-beta01androidx.wear.compose:compose-navigation:1.1.0-beta01 がリリースされました。バージョン 1.1.0-beta01 に含まれる commit については、こちらをご覧ください

Wear OS 向け Compose 1.1 の概要

Wear OS 向け Compose 1.1.0-beta01 では、ライブラリのこのリリースは機能が完成し、API がロックされていることが表明されました。

  • Wear Compose 1.1 リリースには、次の新機能が含まれています。
    • Picker - Picker のユーザー補助機能を改善して、マルチ選択ツールの画面をスクリーン リーダーで操作できるようにし、コンテンツの説明をわかりやすくしました。
    • Picker の contentDescription パラメータが、選択された Picker オプションでのみ使用され、null 許容型の文字列を取るようになりました(以前の commit では、オプションからのマッピングをコンテンツの説明に渡す必要がありましたが、選択されたオプションしか使用されませんでした)。
    • Picker の項目が常に中央揃えになり、gradientRatio をゼロに設定すると配置が変更されるという副作用のバグを修正しました。
    • Chip/ToggleChip - 最新の UX 仕様に合わせて Chip/ToggleChip のデフォルト グラデーションを更新しました。プライマリの 32.5% ではなく 50% から開始するように ChipDefaults.gradientBackgroundChipColors を更新しました。
    • Chip/ToggleChip - チップ形状を変更するためのオーバーロードを追加しました。
    • Chip/Button/ToggleButton - チップとボタン用の新しい枠線付きスタイルと、細い枠線付きの透明な Chip/Button を提供する新しいコンポーザブル OutlinedChip および OutlinedButton を追加しました。
    • カード - 最新の UX 仕様に合わせてカードのデフォルトのグラデーションを更新しました。プライマリの 30% から開始して onSurfaceVariant の 20% で終了するように CardDefaults.cardBackgroundPainter を更新しました(以前は 20% から開始して onSurfaceVariant の 10% で終了していました)。ToggleChip.toggleChipColors は、「75% サーフェスから 32.5% プライマリへの線形グラデーション」から「0% サーフェスから 50% プライマリへの線形グラデーション」に変わります。
    • Button/ToggleButton - ボタンの形状を変更するためのプロパティを追加しました。
    • テーマ - ユーザー補助機能の改善のため、MaterialTheme のデフォルトの色をいくつか更新しました。元の色はコントラストが不十分だったため、ユーザーがチップ / カード / ボタンの背景をテーマの背景色から区別することが困難でした。
    • InlineSlider/Stepper - Talkback がこれらをボタンとして認識できるように、ボタンの役割を追加しました。
    • Scaffold - 必要なスペースのみを占有するよう PositionIndicator が配置されてサイズが設定されるようになりました。これは、セマンティック情報が追加された場合などに役立ち、TalkBack が画面上の PositionIndicator の正しい境界を取得するようになりました。
    • CurvedText/TimeText - スクロール状態に応じて、ビューの内 / 外に垂直方向に項目をスクロールする Modifier.scrollAway を追加しました(オーバーロードによって ColumnLazyColumnScalingLazyColumn と連動します)。一般に、ユーザーが項目リストを上方向にスクロールし始めたときは ScrollAway を使用してビューの外に TimeText をスクロールします。
    • CurvedText/TimeText - CurvedTextStylefontFamilyfontStylefontSynthesis のサポートを追加しました。curvedTextbasicCurvedText で使用できます。
    • CurvedText/TimeText - CurvedTextStyle のコンストラクタとコピーメソッドに fontWeight を追加しました。
    • ToggleControls - ToggleChipSplitToggleChip で使用するアニメーション切り替えコントロールとして CheckboxSwitchRadioButton を追加しました。これらは、ToggleChipDefaults によって提供される静的アイコン(switchIconcheckboxIconradioIcon)の代わりに使用できます。
    • プレースホルダ - 試験運用版のプレースホルダのサポートを追加しました。このサポートには、一緒に動作するように設計された 3 種類の視覚効果があります。
    • 1 つ目は、チップやカードなどのコンテナで使用するプレースホルダの背景ブラシ エフェクトで、コンテンツの読み込みを待つときに、通常の背景の上に描画されるものです。
    • 2 つ目は、読み込まれているコンテンツの上にスタジアムの形のプレースホルダ ウィジェットを描画する修飾子(Modifier.placeholder())です。
    • 3 つ目は、データの読み込みを待っていることをユーザーに伝えるために、他のエフェクトの上に重ねて表示される修飾子のグラデーション / シマー エフェクト(Modifier.placeholderShimmer())です。
      • これらすべてのエフェクトは協調して動作し、きらめいた後に消えるように設計されています。
  • Core Compose の依存関係を 1.2 から 1.3 に更新しました。

API の変更

  • フォント パラメータ(fontFamilyfontWeightfontStylefontSynthesis)を curvedText のパラメータとして直接指定できるようになりました。(Idc422

バグの修正

  • curveTextbasicCurvedText が TalkBack で適切に動作するようになりました(適切なサイズで配置される(ただし空の)compose-ui ノードが関連付けられ、テキストをコンテンツの説明として使用します)。(I7af7cb/210721259
  • PickerState.repeatedItems = false の場合の Picker のバグを修正し、Picker の内部 ScalingLazyColumn に autoCentering パラメータの明示的な設定を追加しました。これにより、ゼロ番目のオプションをビューの中央にスクロールできるようになります。(I8a4d7

バージョン 1.1.0-alpha07

2022 年 10 月 5 日

androidx.wear.compose:compose-foundation:1.1.0-alpha07androidx.wear.compose:compose-material:1.1.0-alpha07androidx.wear.compose:compose-navigation:1.1.0-alpha07 がリリースされました。バージョン 1.1.0-alpha07 に含まれる commit については、こちらをご覧ください

新機能

  • 試験運用版のプレースホルダのサポートを追加しました。このサポートには、一緒に動作するように設計された 3 種類の視覚効果があります。1 つ目は、チップやカードなどのコンテナで使用するプレースホルダの背景ブラシ エフェクトで、コンテンツの読み込みを待つときに、通常の背景の上に描画されるものです。2 つ目は、読み込まれているコンテンツの上にスタジアムの形のプレースホルダ ウィジェットを描画する修飾子(Modifier.placeholder())です。3 つ目は、データの読み込みを待っていることをユーザーに伝えるために、他のエフェクトの上に重ねて表示される修飾子のグラデーション / シマー エフェクト(Modifier.placeholderShimmer())です。これらすべてのエフェクトは協調して動作し、きらめいた後に消えるように設計されています。(I3c339

API の変更

  • CurvedTextStylefontWeightfontFamilyfontStylefontSynthesis のサポートを追加しました。curvedTextbasicCurvedText で使用できます。これらのパラメータを使用して、曲線テキストで使用するフォントとスタイルを指定できます。(Iaa1a8)、(I72759
  • Modifier.offset との一貫性を保つため、Modifier.scrollAway のオフセット パラメータを Dp に更新しました(以前はピクセル単位で表示)。また、効率化のために LayoutModifier としてリファクタリングしました。(I9f94b
  • 新しい切り替えコントロール API の一部として、RadioButton’s circleColor の名前を ringColor に変更しました。(I28fa9
  • ToggleChipSplitToggleChip で使用するアニメーション切り替えコントロールとして CheckboxSwitchRadioButton を追加しました。これらは、ToggleChipDefaults によって提供される静的アイコン(switchIconcheckboxIconradioIcon)の代わりに使用できます。(I8a8c4

バージョン 1.1.0-alpha06

2022 年 9 月 21 日

androidx.wear.compose:compose-foundation:1.1.0-alpha06androidx.wear.compose:compose-material:1.1.0-alpha06androidx.wear.compose:compose-navigation:1.1.0-alpha06 がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit については、こちらをご覧ください。

新機能

  • スクロール状態に応じて、ビューの内 / 外に垂直方向に項目をスクロールする Modifier.scrollAway を追加しました(オーバーロードによって ColumnLazyColumnScalingLazyColumn と連動します)。一般に、ユーザーが項目リストを上方向にスクロールし始めたときは ScrollAway を使用してビューの外に TimeText をスクロールします。(I61766

バグの修正

  • 必要なスペースのみを占有するよう PositionIndicator が配置されてサイズが設定されるようになりました。これは、セマンティック情報が追加された場合などに役立ち、TalkBack が画面上の PositionIndicator の正しい境界を取得するようになりました。(Ie6106b/244409133

バージョン 1.1.0-alpha05

2022 年 9 月 7 日

androidx.wear.compose:compose-foundation:1.1.0-alpha05androidx.wear.compose:compose-material:1.1.0-alpha05androidx.wear.compose:compose-navigation:1.1.0-alpha05 がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit については、こちらをご覧ください

バグの修正

  • Talkback がボタンとして認識できるように、InlineSliderStepper にボタンの役割が追加されました。(Icb46cb/244260275
  • Scaffold で位置とページ インジケーターの Z オーダーを修正しました。インジケーターは周辺減光の上に表示されるようになりました。そのため、周辺減光が存在する場合に、インジケーターが周辺減光によって隠れることはなくなります。(Ib988fb/244207528

バージョン 1.1.0-alpha04

2022 年 8 月 24 日

androidx.wear.compose:compose-foundation:1.1.0-alpha04androidx.wear.compose:compose-material:1.1.0-alpha04androidx.wear.compose:compose-navigation:1.1.0-alpha04 がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit については、こちらをご覧ください

API の変更

  • ユーザー補助機能の改善のため、MaterialTheme のデフォルト色をいくつか更新しました。元の色はコントラストが十分でなく、チップや、カード、ボタンの背景と、テーマの背景色をユーザーが区別しにくかったためです。更新した色は、surface(0xFF202124 -> 0xFF303133)、onPrimary(0xFF202124 -> 0xFF303133)、onSecondary(0xFF202124 -> 0xFF303133)、primaryVariant(0xFF669DF6 -> 0xFF8AB4F8)、onError(0xFF202124 -> 0xFF000000)です。比較的わずかな変更であっても、色の変更は、既存のスクリーンショット テストに影響を与える可能性があります。(81ab09

バグの修正

  • 少数のリストアイテム(通常は 2 個)のリストの初期化が完了せず、透明度が高くなるという ScalingLazyColumn のロジックのバグを修正しました。 (504347

バージョン 1.1.0-alpha03

2022 年 8 月 10 日

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

新機能

  • ChipsButtons の新しい枠線付きスタイルと、OutlinedChipOutlinedButton の新しいコンポーザブルを新たに追加しました。これにより、細い枠線付きの透明な Chip/Button を利用できます。(Id5972

API の変更

  • ボタン形状を変更するためのオーバーロードを追加しました。(Icccde

バグの修正

  • UX 仕様と一致しないため、ToggleChip の切り替えコントロール領域のサイズを修正しました。UX 仕様では、ラベルと 24x24.dp の切り替えコントロール アイコン領域との間に 4.dp のスペーサーを設ける(合計で 28.dp の幅になる)ことになっています。しかし、実装時に切り替えコントロール領域が誤って 36x24.dp になってしまい、使用可能なテキストラベルの領域が 8.dp 減っていました。注: このバグの修正によってテキストラベル用のスペースが広がるため、テキストのレイアウトに影響を及ぼす(テキストがはみ出さなくなる)可能性があります。ToggleChips を含むスクリーンショット テストがある場合は、更新の必要があるかもしれません。(I514c8b/240548670

バージョン 1.1.0-alpha02

2022 年 7 月 27 日

androidx.wear.compose:compose-foundation:1.1.0-alpha02androidx.wear.compose:compose-material:1.1.0-alpha02androidx.wear.compose:compose-navigation:1.1.0-alpha02 がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください

新機能

  • コア Compose ライブラリでの Wear OS 向け Compose の依存関係を 1.2.0 から 1.3.0-alpha0X に切り替えました。

API の変更

  • チップ形状を変更するためのオーバーロードを追加しました。(I02e87

バグの修正

  • 既存のスケーリング アニメーションと整合するよう、ダイアログの表示 / 非表示時に周辺減光される状態の可視性をアニメーション化しました。(Ida33e
  • スクロール時の一部のフリング動作でゼロ除算が発生することがあるバグを修正しました。(I86cb6
  • 無効な背景色が完全に透明になるよう ChipDefaults.childChipColor() のバグを修正しました。(I2b3c3b/238057342

バージョン 1.1.0-alpha01

2022 年 6 月 29 日

androidx.wear.compose:compose-foundation:1.1.0-alpha01androidx.wear.compose:compose-material:1.1.0-alpha01androidx.wear.compose:compose-navigation:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください

API の変更

  • Picker の contentDescription パラメータが、選択された Picker オプションでのみ使用され、null 許容型の文字列を取るようになりました(以前は、オプションからのマッピングをコンテンツの説明に渡す必要がありましたが、選択されたオプションしか使用されませんでした)。(Ife6a7
  • Picker のユーザー補助機能を改善し、マルチ選択ツール画面をスクリーン リーダーで操作したり、コンテンツの説明にアクセスしたりできるようにしました。(I64edb

バグの修正

  • Wear Compose ライブラリにパッケージ化されているベースライン プロファイル ルールを更新しました。(I9c694
  • 「右から左」モードの場合のチップのグラデーションの方向を修正しました。以前は「左上 -> 右下」でしたが、現在は「右上 -> 左下」になりました。(Ic2e77
  • 最新の UX 仕様に合わせて Chip/ToggleChip/Card のデフォルトのグラデーションを更新しました。プライマリの 32.5% ではなく 50% から開始するように ChipDefaults.gradientBackgroundChipColors を更新しました。プライマリの 30% から開始して onSurfaceVariant の 20% で終了するように CardDefaults.cardBackgroundPainter を更新しました(以前は 20% から開始して onSurfaceVariant の 10% で終了していました)。ToggleChip.toggleChipColors は、「75% サーフェスから 32.5% プライマリへの線形グラデーション」から「0% サーフェスから 50% プライマリへの線形グラデーション」に変わります。(I43bbd
  • 万一、背後で明るい色が使用された場合に適切に表示されるように、グラデーションの背景を持つ Chip/ToggleChips の背後に背景色(MaterialTheme.color.surface)を追加しました。(Ibe1a4b/235937657
  • Picker の項目が常に中央揃えになり、gradientRatio をゼロに設定すると配置が変更されるという副作用のバグを修正しました。(I712b8

バージョン 1.0

バージョン 1.0.2

2022 年 9 月 7 日

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

バグの修正

  • Scaffold で位置とページ インジケーターの Z オーダーを修正しました。インジケーターは周辺減光の上に表示されるようになりました。そのため、周辺減光が存在する場合に、インジケーターが周辺減光によって隠れることはなくなります。(Ib988fb/244207528

バージョン 1.0.1

2022 年 8 月 24 日

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

バグの修正

  • 項目数が少ない(一般に項目が 2 個の)リストの初期化が完了せず、透明になることがあるという ScalingLazyColumn のロジックのバグを修正しました。(076c61

バージョン 1.0.0

2022 年 7 月 27 日

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

1.0.0 の主な機能

  • これは、Wear OS 向け Compose の最初の安定版リリースです(詳細)。
  • Wear OS 向け Compose は、コア Compose ライブラリをベースとして、追加のウェアラブル固有コンポーネントと、必要に応じて、ウェアラブル デバイスに合わせて調整されたコア Compose コンポーネントの別の実装を提供します。
  • Wear Compose の主なコンポーネントのリストについては、リリースノート(Compose for Wear OS Beta01)をご覧ください。

バグの修正

  • 既存のスケーリング アニメーションと整合するよう、ダイアログの表示 / 非表示時に周辺減光される状態の可視性をアニメーション化しました。(Ida33e
  • スクロール時の一部のフリング動作でゼロ除算が発生することがあるバグを修正しました。(I86cb6
  • 無効な背景色が完全に透明になるよう ChipDefaults.childChipColor() のバグを修正しました。(I2b3c3b/238057342

バージョン 1.0.0-rc02

2022 年 6 月 22 日

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

バグの修正

  • 右から左(RTL)モードの場合のカードのグラデーションの方向を修正しました。以前は「左上 -> 右下」でしたが、現在は「右上 -> 左下」になりました。(Ic2e77
  • 最新の UX 仕様に合わせて Chip/ToggleChip/Card のデフォルトのグラデーションを更新しました。プライマリの 32.5% ではなく 50% から開始するように ChipDefaults.gradientBackgroundChipColors を更新しました。プライマリの 30% から開始して onSurfaceVariant の 20% で終了するように CardDefaults.cardBackgroundPainter を更新しました(以前は 20% から開始して onSurfaceVariant の 10% で終了していました)。ToggleChip.toggleChipColors は、「75% サーフェスから 32.5% プライマリへの線形グラデーション」から「0% サーフェスから 50% プライマリへの線形グラデーション」へと変わります。(I43bbd
  • 万一、背後で明るい色が使用された場合に適切に表示されるように、グラデーションの背景を持つ Chip/ToggleChips の背後に背景色(MaterialTheme.color.surface)を追加しました。(Ibe1a4b/235937657
  • Wear Compose ライブラリにパッケージ化されているベースライン プロファイル ルールを更新しました。(I9c694

バージョン 1.0.0-rc01

2022 年 6 月 15 日

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

API の変更

  • compose ライブラリのインターフェースが jdk8 デフォルト インターフェース メソッドを使ってビルドされるようになりました。(I5bcf1

バグの修正

  • リストのヘッダーでの fillMaxWidth() の明示的な呼び出しは、ScalinglazyColumnListHeader() コンポーネントと Chip() コンポーネントが混在している場合には不要であり、問題が発生する可能性があるため、削除しました。ListHeader のアイテムは、スクロールされて表示 / 非表示になるときに幅が拡大 / 縮小される傾向にあるためです。(I37144b/235074035
  • ScalingLazyColumn のバグを修正しました。このバグは、0 番目のリストアイテムが(パディングを含めて)十分に大きい場合に、スクロールされるまでリストアイテムが正しく描画されない原因となっていました。(Ic6159b/234328517
  • UX 仕様の更新に合わせて、アイテムが画面の端に達したときの ScalingLazyColumn のイージングを若干調整しました。以前の値 CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> 新しい値 CubicBezierEasing(0.3f, 0f, 0.7f, 1f)。以前の動作を維持するには、ScalingLazyColumnscalingParams をオーバーライドできます。(Ie375c
  • マテリアルのユーザー補助ガイドラインに沿ってタップ ターゲットのサイズが高さ 48 dp 以上になるように、CompactChip にパディングを追加しました。追加のスペースを取ることになるため、CompactChips を使用するレイアウトがある場合は、この変更の影響を受ける可能性があります。(I3d57c

バージョン 1.0.0-beta03

2022 年 6 月 1 日

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

新機能

  • ScalingLazyColumn が Compose @Preview モードで機能するようになりました。(I3b3b6b/232947354

API の変更

  • リストアイテムが列の幅全体に広がらない場合、できる限り見やすくなるよう配置されるように、ScalingLazyColumn.horizontalAlignment プロパティのデフォルト値を Start から CenterHorizontally に変更しました。以前の動作に戻すには、horizontalAlignment = Alignment.Start を設定します。(I9ed4b

既知の問題

  • CompactChip のタップの高さがマテリアルのユーザー補助ガイドラインよりも小さくなっています。この問題は次のリリース(6 月 15 日)で修正される予定です。CompactChip の上下にパディングが追加されるため、CompactChip を使用している場合は、この修正がレイアウトに影響を与えます。レイアウトを調整してテストするか、既存の動作を使用する場合はバグコメントで回避策を確認してください。(b/234332135

バグの修正

  • TimeText で開始テキストの追加または削除をアニメーション化する新しいデモ。(I16d75
  • HorizontalPageIndicator.PagesState のテストを追加しました。(I64ed0
  • TimeText を UX 仕様に近づけて更新しました。(Ib7ea1

バージョン 1.0.0-beta02

2022 年 5 月 18 日

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

新機能

  • 選択ツールが、読み取り専用モードの場合でも、常にスクロール イベントに応答するようになりました。これにより、ユーザーはスクロールする前に、まずタップして選択ツールを選択する必要がなくなります。読み取り専用モードでは、現在選択されているオプション以外のオプションは、gradientColor の shim によって隠れます。(I72925
  • Chip/ToggleChip/CompactChip/SplitToggleChip の UX 動作を変更し、デフォルトで fillMaxWidth を実行できないようにしました。代わりに、コンテンツに合わせて大きくなります。以前の動作を維持するには、modifier = Modifier.fillMaxWidth() を追加します(I60a2cb/232206371

バグの修正

  • TextStyle を受け取る CurvedTextStyle コンストラクタが fontWeight も考慮するようになりました(これは、API の今後のリビジョンでコンストラクタとコピーメソッドに追加される可能性があります)(Ieebb9
  • エッジスワイプの改善。Modifier.edgeSwipeToDismiss が使用されており、左へのスワイプがエッジエリアからトリガーされた場合、スワイプの向きが右に変更されたときにスワイプによる非表示がトリガーされることがなくなりました。以前は、左にスワイプしてから右にスワイプすることで、スワイプによる非表示をトリガーできました(I916ea
  • HorizontalPageIndicator が画面に最大 6 ページ表示されるようになりました。合計で 6 ページを超える場合は、左または右に半分のサイズのインジケーターが表示され、ページ間の移動がスムーズになります。(I2ac29
  • ScalingLazyColumnPicker のデフォルトのスナップ動作を改善しました(I49539
  • エッジスワイプの改善。Modifier.edgeSwipeToDismiss が使用されている場合、スワイプによる非表示は、最初のタップが端に到達して右にスワイプしたときのみトリガーされます。以前は、スクロールが開始点に達したら画面の任意の場所からスワイプすることで、スワイプによる非表示をトリガーできました。(I8ca2a

バージョン 1.0.0-beta01

2022 年 5 月 11 日

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

Wear OS 1.0 の Compose の概要

Wear OS の Compose の 1.0.0-beta01 は、ライブラリの機能が完成し、API がロックされているため、重要なマイルストーンとしてマークしています。

1.0 リリースの Wear Compose Material コンポーネントには、次のものがあります。

  • マテリアル テーマ - モバイル デバイス用の MaterialTheme の代替として使用され、Wear マテリアル デザインの UX ガイドラインを初期設定の状態で実装するウェアラブルでコンポーネントをビルドする際の色、形状、タイポグラフィを指定します。
  • ButtonCompactButtonToggleButton - ボタンには、アイコン、画像、短いテキスト(最大 3 文字)を取得するためのスロットが 1 つ用意されています。デフォルト ボタン、大ボタン、小ボタンに推奨されるサイズの円形。CompactButton は、コンテンツ(アイコン、画像、テキスト)を取得できる単一のスロットを備えており、背景がひときわ小さなサイズの円形です。CompactButton には、クリック可能な領域を拡大する背景の周囲にオプションとして透明なパディングを備えています。ToggleButton は、コンテンツ(短いテキスト、アイコン、画像)の取得を 1 つのスロットで行うボタンです。色分けとさまざまなアイコンでオン / オフ(チェックマークあり / チェックマークなし)の状態を示し、オン / オフのいずれであるかを表示します。
  • カード - 通知などのアプリケーションに関する情報を表示するために使用します。AppCardTitleCard のさまざまなユースケースで柔軟な設計を実現し、異なるレイアウトが用意されており、カードのコンテンツまたは背景として画像をサポートします。
  • チップ - ボタンに類似したスタジアムの形のコンポーネントですが、エリアが広くなり、ラベル、セカンダリ ラベル、アイコン用の複数のスロットを備えています。さまざまなサイズで、背景としての画像をサポートしています。
  • ToggleChip と SplitToggleChip - オン / オフの状態のチップで、コンポーネントにチェックマークが入れられた状態を表示するスイッチやラジオボタンなどのアイコンを表示する ToggleControl スロットが追加されています。また、SplitToggleChip には 2 つ(クリック可能と切り替え可能)のタップ可能な領域があります。
  • CircularProgressIndicator - 2 つのパターンの Wear マテリアル進行状況インジケーター。1 つ目は、進行中のタスクの完了割合を表し、開始角度と終了角度の間の円形トラックのギャップをサポートします。2 つ目は、不特定の待機時間における不確定な進行状況を示します。
  • curvedText - curvedRowcurvedColumn とともに CurvedLayouts を記述し、円形デバイスの周囲にコンポーネントをレイアウトするための DSL の一部を構成します。CurvedLayoutCurvedModifier の詳細については、以下の Wear Component Foundation をご覧ください(これは、曲線でない世界で修飾子と同様の役割を果たし、レイアウト、パディング、グラデーションなどのさまざまな要素の構成を可能にします)。
  • ダイアログ、アラート、確認 - ダイアログは、他のコンテンツの上に重ねて全画面ダイアログを表示し、スワイプして閉じることができます。アラートや確認など、Wear マテリアルの独自のダイアログ コンテンツとみなされる単一のスロットを取ります。アラートは独自のダイアログ コンテンツであり、アイコン、タイトル、メッセージ用のスロットが含まれます。横に並んだ 2 つのネガティブ ボタンとポジティブ ボタン、または 1 つ以上の垂直に積み重ねられたチップのスロットで過負荷が発生します。確認は、一定期間のメッセージを表示する独自のダイアログ コンテンツです。このファイルには、アイコンや画像(アニメーション表示が可能)用のスロットが用意されています。
  • HorizontalPageIndicator - ウェアラブルのフォーム ファクタに適した方法で水平方向のページ位置を表示します。全画面表示を行い、円形のデバイスに曲線インジケーターを表示するように設計されています。Accompanist ページビューアで使用できます。
  • アイコン - Wear のマテリアル テーマから色とアルファを取得するアイコンの Wear 実装。クリック可能なアイコンについては、ボタンまたはチップをご覧ください。
  • 選択ツール - スクロール可能な選択候補アイテムのリストを表示します。デフォルトでは、アイテムは両方向に「無限」に繰り返されます。読み取り専用モードで表示し、未選択のオプションを非表示にできます。
  • PositionIndicator - ウェアラブルのフォーム ファクタに適した方法で、スクロール位置またはその他の位置を表示します。全画面表示を行い、円形のデバイスに曲線インジケーターを表示するように設計されています。
  • Scaffold - 基本的な Wear マテリアル デザインの視覚レイアウト構造を実装します。このコンポーネントには、画面を構成する複数の Wear マテリアル コンポーネント(TimeTextPositionIndicatorVignette など)をまとめる API が用意されており、それらのコンポーネントに適したレイアウト戦略を策定し、必要なデータを収集してコンポーネントが正しく連携するようにできます。
  • ScalingLazyColumn - Wear マテリアル デザイン言語の主要部分を形成するスクロールのスケーリング / 魚眼リスト コンポーネントです。コンテンツ アイテムにスケーリングと透過性効果をもたらします。ScalingLazyColumn は、膨大な量に達する可能性があるコンテンツ アイテムを処理できるように設計されています。コンテンツ アイテムは、必要なときにのみ実体化されて構成されます。
  • Slider - 使用することでユーザーは値の範囲から選択できます。選択範囲はバーとして表示され、必要に応じてセパレータを追加して表示できます。
  • Stepper - 画面の上部と下部に配置された増加 / 減少ボタンを使用し、テキストまたはチップの中央にあるスロットを使用して、ユーザーが特定の値の範囲から選択できるようにする全画面コンポーネント。
  • SwipeToDismissBox - スワイプして閉じる操作を処理します。1 つのスロットを取り、背景(スワイプ操作中にのみ表示される)とフォアグラウンドのコンテンツを配置します。必要に応じて、SwipeDismissableNavHost を使用して androidx ナビゲーション ライブラリと組み合わせることができます(以下の Wear Compose Navigation ライブラリをご覧ください)。
  • テキスト - Wear のマテリアル テーマから色とアルファを取得する Compose マテリアル テキスト コンポーネントの Wear 実装。
  • TimeText - 画面上部に時刻とアプリケーションのステータスを表示するためのコンポーネント。円形の画面で曲線テキストを使用して、画面の形状に合わせて調整します。
  • 周辺減光 - Scaffold で使用する画面処理であり、スクロール可能なコンテンツを使用しているときに画面の上と下をぼかします。

  • Wear Compose Foundation の次のコンポーネントも含まれています。

  • CurvedLayout - Wear Foundation CurvedLayout は、子を円弧に配置し、必要に応じて回転させるレイアウト コンポーザブルです。これは、環状のセグメントに曲線で表される行レイアウトに類似しています。CurvedLayout の内容はコンポーズ可能なラムダではなく、DSL(ドメイン固有の言語)です。CurvedLayout の DSL 内のすべての要素は、CurvedModifier から作成されたオプションの修飾子パラメータをサポートしています。

  • basicCurvedText - CurvedLayout DSL の要素である basicCurvedText を使用すると、デベロッパーは円の曲率に沿って(通常は円形の画面の端)、曲線テキストを簡単に記述できます。basicCurvedText は、配置を指定できるようにする、CurvedModifiers を使用するなど、最適な環境を確保するために、CurvedLayout 内でのみ作成できます。なお、ほとんどの場合にマテリアル テーマ設定を使用する curvedText を使用する必要があります。

  • curvedComposable - 通常のコンポーザブルのコンテンツをラップし、CurvedLayout で使用できるようにします。curvedComposable の内部に複数の要素がある場合、それらは互いに重なり合って描画されます(ボックスなど)。複数のコンポーザブルを曲線に沿って配置するには、各コンポーザブルを curvedComposable でラップします。

  • curvedRow と curvedColumn - 行と列と同様に、curvedRowcurvedColumnCurvedLayout 内にネストして、必要に応じて要素をレイアウトできます。curvedRow の場合は、角度レイアウトの方向と半径方向の配置を指定できます。curvedColumn の場合は、角度調整と半径方向を指定できます。

  • CurvedModifier - すべての曲線コンポーネントで、CurvedModifier を使用して作成可能な修飾子パラメータを使用できます。背景、サイズ、重量、パディングがサポートされています。

  • Wear Compose Navigation の以下のコンポーネントも含まれています。

  • SwipeDismissableNavHost - Compose 階層内に、自己完結型ナビゲーションが行われる場所を指定し、スワイプ操作による後方ナビゲーションを可能にします。コンテンツは SwipeToDismissBox 内に表示され、現在のナビゲーション レベルを示します。「スワイプして閉じる」の操作中、前のナビゲーション レベルがあれば、そのレベルがバックグラウンドで表示されます。

  • 配信されたアルファ版について詳しくは、以前のアルファ版のリリースノートをご覧ください。

API の変更

  • CurvedModifier.padding* 関数を追加しました。これらは、曲線コンポーネントの周囲に追加する領域を指定するために使用されます。(I4dbb4
  • CompositionLocal 内部クラスを削除しました(I42490
  • ButtonCompactButtonToggleButton の各アイコンサイズに定数値を追加しました(I57cab
  • AppCardTitleCard に有効化されているパラメータを追加しました。これで、androidx.compose.material カードに類似した API を使用できるようになりました。このパラメータを false に設定した場合、カードはクリックできません。(Idc48db/228869805

バグの修正

  • Stepper では、下限 / 上限に達したときの減少ボタンと増加ボタンが無効化されるようになりました(さらに、ContentAlpha.disabled が iconColor に適用されます)。(I4be9f
  • スワイプ時にテキストのジッターが表示されるを回避するために、グラデーションで描画するときの選択ツール コンテンツの周囲に 1 dp のパディングを追加しました。(I0b7b9
  • PositionIndicator のスクリーンショット テストを追加しました。(I5e8bc
  • AppCardTitleCard のテストを追加しました。(I85391b/228869805

バージョン 1.0.0-alpha21

2022 年 4 月 20 日

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

新機能

  • 曲線要素の背景を指定する新しい曲線修飾子 CurvedModifier.background.radialGradientBackground.angularGradientBackground を追加しました。(I8f392
  • 曲線テキストのオーバーフロー モード(clip / ellipsis / visible)を指定できるようになりました。(I8e7aa
  • Compose の修飾子と同様の CurvedModifier.weight 修飾子を追加しました。これは、carvedRow と CurvedLayout の子(幅の場合)、curvedColumn の子(高さの場合)で使用できます。(I8abbd
  • 曲線要素のサイズを指定する修飾子 CurvedModifier.size.angularSize.radialSize を追加しました。(I623c7

API の変更

  • パラメータの順序を変え、Wear Compose API 全体で一貫して背景が色の前にくるようにしました。(I43208
  • clockwise と insideOut のパラメータを削除し、新しいクラスのよりわかりやすい定数に置き換えました。曲線レイアウト方向が LayoutDirection に対応できるようになり、指定しない場合は継承されます(If0e6a
  • ScalingLazyColumn に関する API の問題を修正するために、autoCenter: BooleanautoCenter: AutoCentringParams に置き換えました。(Ia9c90
  • 色がアイコン / toggleControl スロットに適用されるため、API 全体(Chip / ToggleChip / Dialog / Slider / Stepper / ...)で iconTintColortoggleControlTintColor の名前を iconColortoggleControlColor に変更しました。(Ied238
  • PageIndicatorStyle 列挙型を値クラスに書き換えました(I2dc72
  • レイアウトの前提条件をデベロッパーに示せるように、コンポーザブルの一部のスロットに RowScope/ColumnScope/BoxScope を追加しました。これにより、デベロッパーは一部のスロット コンテンツで追加の修飾子を使用でき、追加のレイアウト要素を提供する必要がなくなります。さらに、timeColorappColor のデフォルト値が contentColor になるように、AppCard / TitleCard の色にマイナー アップデートを加えました。これらのプロパティは、必要に応じてすべて個別にオーバーライドできます。(I26b59
  • SwipeToDismissBoxState.Companion オブジェクトを非公開にしました(I39e84
  • InlineSliderStepper のパラメータの順序を修正しました。API ガイドラインを遵守するための簡単な変更です(I11fec
  • SwipeToDismissBoxState のセーバー オブジェクトは使用されていないため、削除しました。(Ifb54e
  • 最新の UX 仕様に沿うように CompactChip を更新しました。パディングは水平 = 12.dp、垂直 = 0.dp に縮小されました。ラベルのフォントがボタンから caption1 に変更されました。推奨されるアイコンサイズは、アイコンとラベルの両方がある場合は 20x20、アイコンのみのコンパクト チップの場合は 24x24 です。また、アイコンのみのユースケースでは、アイコンが中央揃えになるようにしました。(Iea2be
  • 適用された contentPaddingautoCenteringPadding の量をデベロッパーが把握できるように、ScalingLazyListLayoutInfo にいくつかの新しいフィールドを追加しました。これらは、フリング / スクロールの計算時にデベロッパーにとって便利です(I7577b
  • ダイアログの入出力遷移を実装しました。showDialog パラメータが追加され、ダイアログ自体で可視性を制御できるようになりました(これにより、ダイアログの表示 / 非表示の切り替え時に、ダイアログでイントロとエンディングのアニメーションを実行できます)。ユーザーがスワイプして閉じる操作でダイアログを終了すると、エンディング アニメーションは実行されません。また、最近追加された SwipeToDismissBox のオーバーロードに、状態のデフォルト値を追加しました。(I682a0
  • i18n と a11y のサポートを強化するため、ToggleChipSplitToggleChip を変更し、toggleControl スロットのデフォルト値がなくなるようにしました。また、SwitchIcon()->switchIcon()CheckboxIcon->checkboxIcon()RadioIcon()->radioIcon() のメソッドが Icon ではなく ImageVector を返すように ToggleChipDefaults を変更しました(@Composable を返さなくなったため、小文字で開始するように変更されています)。これにより、デベロッパーは適切な contentDescription セットで独自の Icon() コンポーザブルを作成できます。(I5bb5b
  • SwipeDismissableNavHostState パラメータを SwipeDismissableNavHost に追加しました。これにより、ナビゲーション デスティネーションとして使用される画面で、エッジスワイプを使用できます。これは、SwipeToDismissBoxState をホイスティングして、エッジスワイプを必要とする画面で SwipeDismissableNavHostStateModifier.edgeSwipeToDismiss の両方を初期化するために使用できるようになったためです。(I819f5b/228336555

バグの修正

  • 必要に応じて曲線レイアウトを更新するようにします。(Ie8bfab/229079150
  • https://issuetracker.google.com/issues/226648931 のバグの修正(Ia0a0ab/226648931
  • 不要な試験運用版アノテーションを削除しました(I88d7e

バージョン 1.0.0-alpha20

2022 年 4 月 6 日

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

新機能

  • SwipeToDismissedgeSwipeToDismiss 修飾子を追加します。これにより、ビューポートの左端でのみ swipeToDismiss を有効にできるようになります。マップの 2D スクロールや、ページ間の水平方向のスワイプなど、画面の中央で水平方向のページングを処理する必要がある場合に使用します。(I3fcecb/200699800

API の変更

  • CurvedModifiers の基本実装。これにより、曲線コンテンツをカスタマイズする方法の導入が可能になります(ただし、CurvedModifiers はまだ提供されておらず、後でカスタム修飾子を作成する機能が利用できるようになります)(I9b8df
  • EdgeSwipe 修飾子のドキュメントとデフォルト値が更新され、わかりやすくなりました。(I6d00d
  • PageIndicator スロットを Scaffold に追加します。PageIndicator を Scaffold に直接追加することで、円形のデバイスで正しく表示されるようにします。(Ia6042
  • InlineSlider および Stepper パラメータからデフォルトのアイコンを削除します。これにより、デベロッパーはローカライズとユーザー補助の要件にさらに注意を払うことができるようになります。デフォルトのアイコンの使用方法はデモとサンプルで示されています。(I7e6fd
  • TimeText の先頭と末尾のパラメータ名を Start と End に置き換えました。(Iaac32
  • onDismissed パラメータで SwipeToDismissBox オーバーロードが追加され、スワイプ操作の完了時にナビゲーション イベントをトリガーするという一般的な使用方法がサポートされるようになりました。(I50353b/226565726
  • TimeText の使用方法から ExperimentalWearMaterialApi アノテーションを削除しました(Ide520
  • ScalingLazyList/Column のスコープと情報インターフェースは、外部のデベロッパーによる実装を想定していないため、シール済みとしてマークされています。これにより、バイナリに破壊的変更を加えることなく、今後新しいメンバーを追加できるようになります。(I7d99f
  • 選択ツールに新しい flingBehaviour プロパティと PickerDefaults.flingBehaviour() メソッドが追加され、RSB サポートの追加などのフリング動作の設定が可能になりました。PickerStateScrollableState インターフェースが実装されました。(Ib89c7

バグの修正

  • Wear Compose ライブラリの Android ランタイム(ART)のベースライン プロファイル ルールを更新します。ART では、デバイス上のプロファイル ルールを活用して、アプリの特定の部分を事前にコンパイルし、アプリケーションのパフォーマンスを改善できます。なお、これはデバッグ可能なアプリには影響しません。(Iaa8ef
  • ドキュメントを改善しました(I2c051

バージョン 1.0.0-alpha19

2022 年 3 月 23 日

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

API の変更

  • CurvedRow の名前を CurvedLayout に変更し、DSL 付きのスコープになるよう再構築しました。この DSL を使用すると、より複雑な曲線レイアウトを一連のネストされた curvedRowcurvedColumn(Row と Column と同等の曲線レイアウト)を使って指定できます。これらのレイアウト要素内では、curvedComposable(@Composable を追加)、basicCurvedText(基盤の曲線テキスト)、curvedText(Wear マテリアル対応の曲線テキスト)の 3 つの要素を使用できます。(Ib776a
  • PositionIndicator の側を構成可能に変更しました。基本の PositionIndicator の位置を End(レイアウト方向対応)、OppositeRsb(画面の回転を考慮し、自身を物理的な RSB の反対に位置付け)、または絶対値である Left と Right に設定できるようになりました。(I2f1f3
  • SwipeToDismissBox の場合に、SwipeDismissTarget.Original の名前を SwipeToDismissValue.Default に変更し、SwipeDismissTarget.Dismissal の名前を SwipeToDismissValue.Dismissed に変更しました。また、SwipeToDismissBoxDefaults.BackgroundKeySwipeToDismissBoxDefaults.ContentKey をそれぞれ SwipeToDismissKeys.BackgroundSwipeToDismissKeys.Content に移動しました。(I47a36
  • 複数の Picker があり、一度に 1 つの Picker のみが編集可能である画面の場合に、Picker に読み取り専用モードを追加しました。Picker が読み取り専用の場合は、現在選択されているオプションと、ラベル(指定されていた場合)が表示されます。(I879de
  • ExperimentalWearMaterialApi のスコープを Modifier.swipeableSwipeableState に制限するよう SwipeToDismissBoxState をリファクタリングし、内部で使用できるようにしました。SwipeToDismissBoxState に、一般的なユースケースをサポートするよう currentValuetargetValueisAnimationRunningsnapTo のメンバーを追加しました。他のプロパティを利用できるようにする必要がある場合は、お知らせください。また、スワイプ オフセットがアンカーの丸め誤差内にある場合の、SwipeableState の動作を修正しました。(I58302

バグの修正

  • ScalingLazyColumn のコンテンツをスクロールできるかどうかを検出するためのコードを簡素化し、修正しました(スクロールバーを表示するかどうかの判断に使用されます)。(I7bce0
  • 複数の状態で使用して状態を切り替える場合の位置インジケーターのバグを修正しました。(I320b5
  • 最新の UX ガイダンスと一致するよう Wear OS 向け Compose のデフォルトのテーマ タイポグラフィ / フォントを更新しました。特に display1(40.sp)と display2(34.s)が以前の値より小さくなり、行の高さと行間隔に対しさまざまなその他のマイナー アップデートを加えました。(Ie3077
  • 閉じるようスワイプしたときのみモーションが発生し、逆方向ではまったく発生しないよう、SwipeToDismissBox に抵抗を追加しました。(Ifdfb9
  • Wear マテリアル デザインの UX ガイドラインと一致するよう、CircularProgressIndicator 関数のデフォルトのパラメータ値の一部を変更しました。Spinner / Indeterminant バージョンでは、size(40 -> 24.dp)、indicatorColor(primary -> onBackground)、trackColor transparency(30% -> 10%)、stroke width(4 -> 3dp)を更新しました。Progress / Determinate バージョンでは、trackColor transparency(30% -> 10%)を更新しました。(I659cc
  • 最新の Wear マテリアル デザインの UX 仕様と一致するよう ScalingLazyColumn のデフォルトのスケーリング パラメータを更新しました。表示上は、この更新により、リストの中心に近いリスト項目からスケーリングが開始されますが、リストの端では以前よりもスケーリングが少なくなります。(Ica8f3
  • アニメーションの終了を改善するために ScalingLazyColumnDefaults.snapFlingBehavior を調整しました。(If3260

バージョン 1.0.0-alpha18

2022 年 3 月 9 日

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

API の変更

  • PositionIndicator にいくつかの改善を加えました。ShowResult を PositionIndicatorVisibility に名称変更しました。不要な再計算を避けるため、パフォーマンスを改善しました(Iaed9d
  • SplitToggleChip の推奨色を変更しました。SplitToggleChip のチェックをオンまたはオフにしたときの背景色を無地一色とし、コンポーネントがチェックされているかどうかを ToggleControl の色で簡単に判別できるようにしました。新しいカラーパターンをサポートするため、新たに ToggleDefaults.splitToggleChipColors() を追加しました。また、splitBackgroundOverlayColor を削除し、toggleChipColors() メソッドを簡素化しました(I7e66e
  • ScalingLazyListItemInfo に unadjustedSize を追加しました。これは、浮動小数点数の精度の点で、スケーリングしたサイズとスケーリング ファクタで元のアイテムサイズを計算するのが安全ではないためです。(I54657b/221079441
  • HorizontalPageIndicator を追加しました。これは、ページの総数と選択されているページを表します。デバイスの形状に応じて直線または曲線にできます。また、インジケーターの形状をカスタマイズして、各インジケーターの視覚的な表示方法を定義できます。(Iac898
  • PickerState を更新し、numberOfOptions を更新できるようにしました。これにより、選択した月によって月の日数が変わる DatePicker などのユースケースに対応できます。これに伴い、PickerState のコンストラクタ パラメータが initialNumberOfOptions に変更されました。(Iad066
  • PositionIndicator がスクロールバーである場合に、スクロールできないときは非表示になるようにしました。(Id0a7f
  • Scaffold との整合性を保つため、全画面の Dialog コンポーネントに PositionIndicatorVignette が表示されるようにしました。また、Column に代わって ScalingLazyColumn を使用することになったため、Dialog コンテンツは ScalingLazyListScope に含めることとなりました(通常、アイテム { /* content */ } で囲む必要があります)。これに伴い、Dialog で verticalArrangement パラメータがサポートされました。(Idea13
  • マテリアル デザインに合わせて ToggleChipSplitToggleChip の toggleIcon プロパティの名前を toggleControl に変更し、API をナビゲーションしやすくしました。(If5921b/220129803
  • Wear のマテリアル テーマ Typology.Caption3 に、新しいエントリ caption3 を追加しました。caption3 は、法的文書のような非常に長い文章に使用する小さなフォントです。(I74b13b/220128356

バグの修正

  • 表示したときに、スナップのアニメーションが停止します。(Idb69d
  • PositionIndicator の変更をアニメーション化しました。(I94cb9
  • UI / UX のフィードバックに基づいて ScalingLazyColumn の autoCentering を変更し、インデックスが ScalingLazyListState.initialCenterItemIndex 以上の複数のアイテムを、ビューポートの中央に完全にスクロールするために必要なスペースのみが提供されるようにしました。これにより、最初に中央に配置したアイテムの周囲に 1 つまたは 2 つのアイテムを配置しても、中央にスクロールされなくなりました。これに伴い、ScalingLazyColumn を autoCentering しても、initialCenterItemIndex/initialCenterItemScrollOffset より上にはスクロールできなくなりました。(I22ee2
  • 日付選択ツールのデモを追加し、選択ツールが表示されるまで initialInitialOptionOption が適用されていなかった PickerState のバグを修正しました。(Id0d7e
  • 円形の画面に幅の広い ScalingLazyColumn アイテムを表示する際のクリッピングを減らすため、水平方向のデフォルトのコンテンツ パディングを 8 dp から 10 dp に増やしました。(I0d609
  • スクロール時に PositionIndicator が表示されることを確認しました。(Ied9a2

バージョン 1.0.0-alpha17

2022 年 2 月 23 日

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

新機能

  • ScalingLazyColumn で使用できるスナップのサポートを追加しました。flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) を設定すると、スナップのサポートが有効になります。(I068d3b/217377069
  • 時刻の形式(24 時間形式または 12 時間形式)を選択する際に使用される選択ツールのデモを追加しました。(Ie5552

API の変更

  • 正方形のデバイスでの TimeText のカスタム フォントとスタイルに関する問題を修正しました(Iea76e
  • ScalingLazyListLayoutInfo に、LazyListLayoutInfo の各プロパティと一致する reverseLayoutviewportSize、orientation プロパティが追加されました(I4f258b/217917020
  • ScalingLazyColumnに、LazyList のプロパティと一致する userScrollEnabled プロパティが追加されました(I164d0b/217912513
  • 選択ツールはデフォルトで上下にグラデーションが表示されるようになりました(Iab92a

バグの修正

  • 親のスペースをすべて埋め尽くすことのないように ScalingLazyColumn を変更しました。代わりに、コンテンツのサイズからサイズを取得します。これは LazyColumn の動作と同じです。以前の動作に戻す場合は、Modifier.fillMaxWidth()/width()/widthIn()ScalingLazyColumn に渡してください(I51bf8
  • ナビゲーションのバックスタックが空の場合にトリガーされる SwipeDismissableNavHost.kt の例外メッセージを改善しました(I1b1dc

バージョン 1.0.0-alpha16

2022 年 2 月 9 日

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

新機能

  • CircularProgressIndicator を追加しました。進行状況インジケーターに、プロセスの長さや不特定の待ち時間が表示されます。全画面で使用する場合、TimeText または他のコンポーネントのギャップ(カットアウト)をサポートします。(Iab8da

API の変更

  • 選択ツールに flingBehavior パラメータが追加されました。デフォルト値では、スクロールまたはフリングを行ったとき、最も近いオプションにスナップします。(I09000
  • InlineSlider と Stepper 用の整数 API を追加しました。(I1b5d6

バグの修正

  • ScalingLazyListState のデフォルトの initialCenterItemIndex を 0 から 1 に変更しました。つまり、状態の構築で ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =) にオーバーライドされない限り、初期化時に 2 番目のリスト項目(index == 1)がビューポートの中央に配置され、1 番目のリスト項目(index == 0)がその前に配置されます。これにより、ほとんどのビューポートがリスト項目で埋まるため、すぐに使えるデフォルトの視覚効果が向上します。(I0c623b/217344252
  • 一部のサイズを縮小している場合でも多くのリスト項目が表示されるように提供されている ScalingLazyColumn のデフォルトの extraPadding を、10% から 5% に減らしました。これにより、ビューポートに表示されない可能性のある余分なリスト項目が作成されなくなります。標準以外の scaleParams が使用されている場合(より極端なスケーリングなど)、デベロッパーは viewportVerticalOffsetResolver を使用して余分なパディングを調整できます。(I76be4
  • 正方形のデバイスで TimeText が複数行にわたる問題を修正しました。(Ibd3fb
  • 親のスペースをすべて埋め尽くすことのないように ScalingLazyColumn を変更しました。代わりに、コンテンツのサイズからサイズを取得します。これは LazyColumn の動作と同じです。以前の動作に戻す場合は、Modifier.fillMaxSize()ScalingLazyColumn に渡してください(注: この変更は不完全であり、次のアルファ版リリースにおける後続の変更で対処される予定です)。(I3cbfa

バージョン 1.0.0-alpha15

2022 年 1 月 26 日

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

API の変更

  • ScalingLazyColumn に新しいプロパティ autoCentering を追加しました。このプロパティが true(デフォルト)の場合、すべての項目(最初と最後の項目を含む)をスクロールして、リストのビューポートの中央に表示できます。なお、自動中央揃えを使用する場合は、垂直方向のコンテンツ パディングを 0.dp に設定することをおすすめします。autoCentering と垂直方向のコンテンツ パディングの両方が指定された場合、両方によって最初のリスト項目の前と最後のリスト項目の後で追加のスペースが利用可能になり、スクロール可能なスペースが増えます。(I2a282b/214922490
  • 他のコンテンツを覆う全画面ダイアログを任意のコンポーザブルがトリガーできるようにする Dialog コンポーネントを追加しました。このダイアログは、表示されると「スワイプして閉じる」機能をサポートし、スワイプ操作中にその親のコンテンツをバックグラウンドで表示します。ダイアログのコンテンツは Alert または Confirmation(以前のコンポーネント AlertDialog および ConfirmationDialog から名前が変更されました)であると想定されます。AlertConfirmationDialog はすべて androidx.wear.compose.material.dialog パッケージ内にあります。Alert と Confirmation はナビゲーション デスティネーションとして使用できます。また、必要に応じて Alert および Confirmation パラメータに ColumnScope を追加しました。(Ia9014
  • Compose for Wear OS のマテリアル テーマ カラーから onSurfaceVariant2 を削除し、ライブラリでの使用を onSurfaceVariant に置き換えました。(Icd592
  • PickerState でオプションをプログラムで選択するメソッドを追加し、最初に選択したオプションを PickerState の作成時にも指定できるようにしました。(I92bdf
  • ScalingLazyColumn のフリング動作をカスタマイズするためのサポートを追加しました。(I1ad2eb/208842968
  • Wear.Compose.Navigation ライブラリに NavController.currentBackStackEntryAsState() を追加しました。(If9028b/212739653
  • 回転するサイドボタンを備えた Wear デバイス用に Modifier.onRotaryScrollEvent()Modifier.onPreRotaryScrollEvent() を追加しました。(I18bf5b/210748686

バージョン 1.0.0-alpha14

2022 年 1 月 12 日

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

新機能

  • デベロッパーが特定のリスト項目へのスクロールを制御し、またリスト項目やオフセットの初期設定を行える、複数のメソッドを ScalingLazyListState に追加しました。

    この変更の一環として、ScalingLazyList が、ビューポートの開始点ではなく中心方向を向くように変更されています。

    中心(ScalingLazyListAnchorType.ItemCenter)または EdgeScalingLazyListAnchorType.ItemStart)をビューポートの中心線に揃えるかどうかを制御する、新しいプロパティ anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenterScalingLazyList に追加されました。

    その結果 ScalingLazyListItemInfo.offsetScalingLazyListItemInfo.adjustedOffset が変更され、リスト項目の位置とリストの anchorType の両方に関する項目のオフセットが反映されるようになりました。たとえば、ScalingLazyColumnanchorTypeItemCenter で、リスト項目の中心がビューポートの中心線にある場合、オフセットは 0 になります。

    新しいメソッドは scrollToanimatedScrollTocenterItemIndexcenterItemOffset です。 (I61b61

  • [戻る] ボタンを押すとナビゲーション階層の前のレベルに移動できるように、[戻る] ボタンハンドラを SwipeDismissableNavHost に追加しました。(I5b086b/210205624

バージョン 1.0.0-alpha13

2021 年 12 月 15 日

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

API の変更

  • RangeIcons を内部化しました(InlineSliderStepper によって内部で参照されます)。(I927ec

バグの修正

  • SwipeDismissableNavHostCREATED ライフサイクル状態になる前に Compose 階層にデスティネーションを追加すると IllegalStateException が発生する問題を修正しました。この修正は、navigation-compose の依存関係を 2.4.0-beta02 以降にアップデートするための前提条件でした。(I40a2bb/207328687

  • Wear Compose ライブラリ内のドローアブル リソースを取得するための Drawables 列挙型クラスを追加し、リフレクションが不要になりました。これにより、minifyEnabled=true または shrinkResources=true のときにライブラリ ドローアブルが削除されるバグを修正しました。(Ib2a98

  • Wear Compose の Stepper のテストを追加しました。(I2d03a

  • Wear Compose Navigation の SwipeDismissableNavHost のサンプルを追加しました。(I85f06

バージョン 1.0.0-alpha12

2021 年 12 月 1 日

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

新機能

  • Stepper コンポーネントが追加され、ユーザーが値の範囲から選択できるようになりました。Stepper はフルスクリーン コントロールです。上に増加ボタン、下に減少ボタンがあり、中央にスロット(チップまたはテキストのいずれかが入ることを想定)があります。ボタンアイコンは、必要に応じてカスタマイズできます。(I625fe

  • ダイアログを表示するための 2 つの新しいコンポーザブルが追加されました。 AlertDialog はユーザーからの応答を待機し、タイトル、アイコン、メッセージとともに a)シンプルな Positive と Negative の選択用の 2 つのボタン、または b)より柔軟な選択に対応するための縦に積み重ねられたチップまたは切り替えチップを表示します。 ConfirmationDialog はタイムアウトとともに確認応答を表示します。このシンプルなダイアログには、タイトル用と(アニメーション)アイコン用のスロットがあります。(Ic2cf8

API の変更

  • ダイアログの候補時間の値に単位(ミリ秒)を追加しました。(I09b48

バージョン 1.0.0-alpha11

2021 年 11 月 17 日

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

新機能

  • スクロール リストからユーザーがアイテムを選択できる選択ツール コンポーネントを追加しました。デフォルトで、選択可能なアイテムのリストは両方向に「無限」に繰り返され、横から見ると回転する円柱のような印象を与えます。今後のリリースで、スワイプやフリングの後の値にスナップする機能と、現在の値に設定 / スクロールする関数を PickerState に追加する機能という 2 つが追加される予定です。(I6461b

API の変更

  • 親コンテナのサイズに基づいてリストアイテムのサイズを設定できるように、ScalingLazyItemScope と新しい修飾子 fillParentMaxSize / fillParentMaxWidth / fillParentMaxHeight を追加しました。アイテムは、親のサイズの全部または一部を埋めるように設定できます。これにより、LazyRow/Column ですでに利用可能な機能が公開されます。(I4612f
  • アイテムがキーを持つことができるように、ScalingLazyColumn のサポートを追加しました。また、配列やリストからアイテムを追加するための便利なメソッドを追加しました。(Ic1f89

バグの修正

  • TimeText のその他の例(I8cb64

バージョン 1.0.0-alpha10

2021 年 11 月 3 日

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

新機能

  • wear compose の InlineSlider を追加しました。InlineSlider を使用すると、ユーザーは値の範囲から選択できます。選択範囲は、範囲の最小値と最大値の間にバーとして表示され、ユーザーはそこから値を 1 つ選択できます。(If0148

  • WearOS Codelab の新しい Compose をご確認ください。

API の変更

  • Macrobenchmark の minSdkVersion23 になりました。(If2655

バグの修正

  • SideEffect の SwipeDismissableNavHost での遷移処理を更新しました。(I04994b/202863359
  • SwipeDismissableNavHost での遷移処理を更新しました。(I1cbe0b/202863359

バージョン 1.0.0-alpha09

2021 年 10 月 27 日

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

新機能

  • Wear OS で Compose のデベロッパー プレビューをリリースしました。詳しくは、メイン コンポーザブルと、それらの使用を開始するための参考資料へのリンクを確認できるブログ投稿をご覧ください。

API の変更

  • Wear のマテリアル デザイン カラーテーマですべての色をカスタマイズできるデベロッパー向けのサポートを追加しました。(I4759bb/199754668

バグの修正

  • 状態を永続化する SwipeToDismissBox サンプルを追加しました。(Ibaffe
  • CurvedText、TimeText、SwipeToDismissBox の KDocs から、developer.android.com ガイドへのリンクを追加しました。(I399d4
  • 現在のデスティネーションがない(NavGraph が wear.compose.navigation.composable ユーティリティ関数でビルドされていないことを示す)場合、SwipeDismissableNavHost がスローされるようになりました。(I91403
  • TimeText でのタイムソースの使用方法に関するドキュメントと例を追加しました。(I4f6f0

バージョン 1.0.0-alpha08

2021 年 10 月 13 日

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

API の変更

  • AppCard と TitleCard の body プロパティの名前を content に変更し、プロパティ リストの末尾に移動したことで、後置ラムダとして提供できるようなりました。また、新しいスロット名との整合性を保つため、bodyColor の名前を contentColor に変更しました。(I57e78

バグの修正

  • ボタン、カード、チップ、テーマ、位置インジケーター、遅延列コンポーネントのスケーリングについて、KDocs の developer.android.com ガイドへのリンクを追加しました。(I22428
  • WearOS SwipeToDismissBox がスワイプを処理しないことがある問題を修正しました。(I9387e
  • Button、CompactButton、Chip、CompactChip、AppCard、TitleCard、ToggleButton、ToggleChip、SplitToggleChip のサンプルを追加しました(Iddc15
  • Card、Chip、ToggleChip、TimeText、ScalingLazyColumn の Microbenchmark パフォーマンス テストを追加しました。(If2fe9

バージョン 1.0.0-alpha07

2021 年 9 月 29 日

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

新機能

  • マテリアルに CurvedText コンポーネントを追加しました。これにより、デベロッパーは円の曲率に沿って(通常は円形の画面の端)、曲線テキストを簡単に記述できます。(I19593

API の変更

  • TimeText のテストを追加しました(Idfead
  • ArcPaddingValues をインターフェースに変換します。(Iecd4c
  • SwipeToDismissBox にアニメーションを追加しました(I9ad1b
  • SwipeToDismissBox API に hasBackground パラメータを追加し、表示するバックグラウンド コンテンツがない場合にスワイプ操作を無効にできるようにしました。(I313d8
  • rememberNavController() がオプションの Navigator インスタンスのセットを受け取るようになりました。これらのインスタンスは、返される NavController に追加され、Accompanist Navigation Material の Navigator など、オプションの Navigator のサポートを強化します。(I4619e
  • navigation-common の NamedNavArgument を参照し、wear.compose.navigation からコピーを削除しました。(I43af6

バグの修正

  • 小型デバイスでの CurvedRow のテストの不安定性を修正しました。(If7941
  • コンテンツ更新時の CurvedRow の予想されるちらつきを修正し、曲線行が再測定されるようにしました。(Ie4e06
  • ChipDefaults.gradientBackgroundChipColors() を UX 仕様の変更に合わせて更新しました。グラデーションは、MaterialTheme.colors.surface(アルファ 75%)の背景に、MaterialTheme.colors.primary(アルファ 32.5%)で始まり、MaterialTheme.colors.surface(アルファ 0%)で終了するようになりました。(Id1548
  • 最新の Wear マテリアル デザインの UX 仕様ガイダンスに合わせて、選択された状態の ToggleChip の色を更新しました。選択されると、ToggleChip のグラデーションの背景は、MaterialTheme.color.surface(アルファ 75%)の背景に、左上の MaterialTheme.color.surface(アルファ 0%)で始まり、右下の MaterialTheme.color.primary(アルファ 32%)で終了するようになりました。これにより ToggleChip のオンとオフの違いは、よりわずかになっています。(Idd40b

バージョン 1.0.0-alpha06

2021 年 9 月 15 日

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

新機能

  • PositionIndicator(スクロールやボリュームなど)の位置、を処理するための構造を提供するトップレベルのアプリ コンポーザブル Scaffold、時刻とアプリケーションのステータスを表示する画面上部の領域を追加し、また画面の上下端をぼかすための周辺減光をサポートしました。Scaffold の主なエリアは、アプリケーション コンテンツを配置する場所です。(I5e0bf
  • Wear Compose 用の TimeText 実装を追加しました(I5654c

Wear Compose Navigation ライブラリ

  • Wear Compose と Androidx Navigation ライブラリを統合した Wear Compose Navigation ライブラリの最初のリリースを追加しました。これにより、アプリ内の宛先として @Composable 関数間を簡単に移動できます。

  • この初回リリースで提供されるものは以下のとおりです。

    • ナビゲーション グラフをホストし、スワイプ操作で戻る方向の移動を行う SwipeDismissableNavHost コンポーザブル
    • ナビゲーション グラフの作成を支援する NavGraphBuilder.composable 拡張機能
    • 状態をホイスティングできるようにする rememberSwipeDismissableNavController()
  • 画面を 2 つ作成し、その画面間を移動する場合の使用例:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Wear Compose Navigation は個別のライブラリとしてパッケージ化されているため、独自の手巻きナビゲーションを実装するシンプルな WearCompose アプリは、Androidx Navigation ライブラリに依存する必要がありません。

API の変更

  • 背景とコンテンツのキー ID を設定することで rememberSaveable をサポートするように SwipeDismissableNavHost を更新しました。(I746fd
  • LazyListState を処理できる PositionIndicator アダプタを追加しました。(I21b88
  • rememberSaveable をサポートするように SwipeToDismissBox を更新しました。(Ie728b
  • ScalingLazyColumn に reverseLayout のサポートを追加しました。これにより、スクロールとレイアウトの方向を逆にすることができます。(I9e2fc
  • performGestureGestureScope が非推奨になりました。それぞれ performTouchInputTouchInjectionScope に置き換えられました。(Ia5f3fb/190493367
  • VignetteValue の名前を VignettePosition に変更し、VignetteValue.Both の名前を VignettePosition.TopAndBottom に変更しました。(I57ad7
  • 今後 ScalingLazyRow implementation を追加することになった場合に備えて、ScalingLazyColumnState の名前を ScalingLazyListState に、ScalingLazyColumnItemInfo を ScalingLazyListItemInfo に、ScalingLazyColumnLayoutInfo を ScalingLazyListLayoutInfo に、ScalingLazyColumnScope を ScalingLazyListScope に変更しました。(I22734

バグの修正

  • アイコンもラベルも指定されていない場合の影響について説明するように、CompactChip のドキュメントを更新しました。(I4ba88
  • Wear カード コンポーネントに以下の調整を行いました。(I6b3d0
    1. タイトルと本文の間の TitleCard の間隔を 8.dp から 2.dp に減らしました。
    2. TitleCard ヘッダーのフォントを body から title3 に変更しました。
    3. カードの背景のグラデーションを、背景が暗くなるように変更しました。

バージョン 1.0.0-alpha05

2021 年 9 月 1 日

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

API の変更

  • ArcPaddingValues が @Stable としてマークされました(I57deb
  • ScalingLazyColumnState が ScrollableState インターフェースを実装したことで、デベロッパーはプログラムからアクセスしてコンポーネントをスクロールできるようになりました。(I47dbc

バグの修正

  • UX 仕様の更新に合わせて、Icon と Text in Chip と ToggleChip の間隔を縮小しました。(I83802

バージョン 1.0.0-alpha04

2021 年 8 月 18 日

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

新機能

  • SwipeToDismissBox とスワイプ可能修飾子(左から右へスワイプして閉じる操作のサポートに使用可能)を追加しました。これは、Navigation コンポーネントから独立していますが、ある画面を終了して別の画面に移動するために使用することが想定されています。「スワイプして閉じる」のデモを行う統合テストを追加しました。(I7bbaa
  • スケーリングが適用された後に ScalingLazyColumn でのアイテムの実際の位置とサイズをデベロッパーが把握できるように、ScalingLazyColumnItemInfo インターフェースと ScalingLazyColumnLayoutInfo インターフェースを ScalingLazyColumnState クラスに追加しました。また、「上位」コンテンツのパディングが ScalingLazyColumn に適用された場合のスケーリングの計算方法に関するバグも修正しました。(I27c07

API の変更

  • 曲線テキストのスタイル設定の Option を指定するための CurvedTextStyle クラスを追加しました。TextStyle とよく似ていますが、色、fontSize、背景のみをサポートするようになりました。今後、さらに多くのスタイル設定オプションが追加される予定です。(I96ac3
  • スケーリングが適用された後に ScalingLazyColumn でのアイテムの実際の位置とサイズをデベロッパーが把握できるように、ScalingLazyColumnItemInfo インターフェースと ScalingLazyColumnLayoutInfo インターフェースを ScalingLazyColumnState クラスに追加しました。また、「上位」コンテンツのパディングが ScalingLazyColumn に適用された場合のスケーリングの計算方法に関するバグも修正しました。(I27c07
  • SwipeToDismissBox API の一部である SwipeDismissTarget 列挙型に @ExperimentalWearMaterialApi を追加しました。(I48b5e

バグの修正

  • SwipeToDismissBox のテスト資料を追加しました(I9febc

バージョン 1.0.0-alpha03

2021 年 8 月 4 日

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

API の変更

  • CurvedText コンポーネントを追加しました。これにより、デベロッパーは円の湾曲(通常は円形画面の端にある)に沿ってテキストを簡単に入力できます(Id1267
  • 背景画像にスクリムが描画されていることがはっきりとわかるよう、CardDefaults.imageBackgroundPainter() の名前を CardDefaults.imageWithScrimBackgroundPainter() に変更しました。(I53206
  • Wear マテリアルのリスト コンポーネントを提供する ScalingLazyColumn コンポーネントを追加しました。これにより、コンポーネントの端に向かってスケーリングするとリスト コンテンツがサイズ縮小され透明になる魚眼ビューが提供されます。(I7070c

バグの修正

  • UX 仕様の更新に応じて、AppCard の appName コンテンツのデフォルト色が変更されました。appName のデフォルト色は MaterialTheme.colors.onSurfaceVariant になりました。また、タイトル スロットに欠落しているパラメータのドキュメントの説明を追加しました。(Ic4ad1

バージョン 1.0.0-alpha02

2021 年 7 月 21 日

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

新機能

  • 円弧の中にコンポーザブルをレイアウトする新しいクラス CurvedRow を追加しました。(I29941
  • アプリ内で使用する新しいタイプのカード(TitleCard)を追加し、コンテンツを強調するために背景としてカードに追加できる画像の設定のサポートも追加しました。(I53b0f

API の変更

  • CurvedRow に放射状整列(行の垂直方向の整列と似た機能)のサポートを追加しました。(Id9de5
  • 円弧の中にコンポーザブルをレイアウトする新しいクラス CurvedRow を追加しました。(I29941
  • アプリ内で使用する新しいタイプのカード(TitleCard)を追加し、コンテンツを強調するために背景としてカードに追加できる画像の設定のサポートも追加しました。(I53b0f
  • デベロッパーが ToggleChip と SplitToggleChip を簡単に構成できるようにするため、ToggleChipDefaults に切り替えアイコン(チェックボックス、スイッチ、ラジオボタン)を追加しました。(I7b639
  • チップの開始および終了コンテンツ パディングが更新され、チップにアイコンが存在するかどうかにかかわらず、常に 14.dp になりました(以前はアイコンが存在する場合は 12.dp、アイコンが存在しない場合は 14.dp でした)。(I34c86

バグの修正

  • CurvedRow のテストを追加しました。(I93cdb
  • Wear Compose の依存関係を Compose 1.0.0-rc01 に関連付けました。(Ie6bc9
  • カードとチップにおける背景画像のペイントの処理を変更し、画像の比率を維持するために画像が引き伸ばされるのではなく切り抜かれるようにしました。(I29b41
  • Button と ToggleButton のデモと統合テストを追加しました。(5e27ed2
  • imageBackgroundChip のコンテンツの色をカバーするため、チップのテストを追加しました。(Ia9183

バージョン 1.0.0-alpha01

2021 年 7 月 1 日

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

新機能

Wear Compose は、Wear OS ウェアラブル用にマテリアル デザインを拡張した Wear マテリアル デザインをサポートする、Compose ベースの Kotlin ライブラリです。この最初のアルファ版リリースには、次のものを備えた初期段階の機能実装が含まれています。

  • マテリアル テーマ - このライブラリから使用されるコンポーネント全体の色、タイポグラフィ、図形を構成します。
  • Chip、CompactChip - チップは楕円形をしており、アイコン、ラベル、セカンダリ ラベルのコンテンツを取得するためのバリエーションがあります。
  • ToggleChip、SplitToggleChip - ラジオボタンやチェックボックスなど、2 つの状態を切り替えるアイコンのスロットを含む特別なタイプのチップです。また、SplitToggleChip には 2 つ(クリック可能と切り替え可能)のタップ可能な領域があります。
  • Button、CompactButton - ボタンは円形をしており、アイコン用の単一のコンテンツ スロットか、最小限のテキスト(最大 3 文字)を備えています。
  • ToggleButton - アクションのオン / オフを切り替えるボタンで、アイコン用の単一のスロットか、最小限のテキスト(最大 3 文字)を備えています。
  • Card、AppCard - 角が丸い四角形をしており、アプリアイコン、時間、タイトル、本文などのコンテンツのスロットを提供します。

将来のリリースでは、ウィジェット セットが拡張され、Wear マテリアル デザイン選択ツール、スライダー、リスト、ページ インジケーター、ダイアログ、スクロール RSB インジケーター、トーストなどのサポートが追加される予定です。

さらに、その他のウェアラブル固有の機能(曲線レイアウトやテキストなど)のサポートと、デベロッパーがウェアラブル アプリ / オーバーレイを簡単に構築するための土台が提供されます。

Wear Compose マテリアルは、ウェアラブルをターゲットにしているとはいえ、Compose マテリアルと同じ原則に沿ってデザインされています。ウェアラブル デバイス用の開発では、Compose マテリアル ライブラリの代わりに、Wear Compose マテリアル ライブラリを使用してください。

この 2 つの「マテリアル」ライブラリは相互排他的であると見なす必要があり、同じアプリ内に混在させてはなりません。Compose マテリアル ライブラリを依存関係に含めてしまうのは、a)Wear Compose マテリアル ライブラリにコンポーネントが不足している場合、または b)Google がウェアラブル デバイスでの使用を推奨していないコンポーネントをアプリで使用している場合のどちらかです。a)に該当する場合は、必要なコンポーネントを Google にお知らせください。