Wear Compose
| 最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| 2025 年 10 月 22 日 | 1.5.4 | - | - | 1.6.0-alpha04 |
依存関係の宣言
Wear への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.5.4" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.5.4" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.5.4" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.4") // 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.5.4") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.5.4") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.5.4") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.4") // 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 バージョン 1.6
バージョン 1.6.0-alpha04
2025 年 10 月 22 日
androidx.wear.compose:compose-*:1.6.0-alpha04 がリリースされました。バージョン 1.6.0-alpha04 には、これらの commit が含まれています。
API の変更
TransformingLazyColumnのreverseLayoutを実装(I19f9e、b/352513793)FailureConfirmationDialogで使用するConfirmationDialogDefaults.VariantFailureIconを追加しました。この新しい汎用エラー アイコンは、スマートフォンとの接続が切断されたことを示すConfirmationDialogDefaults.FailureIconよりも好ましい場合があります。(Ifc851、b/443115305)
バグの修正
LaunchedEffectの使用をリファクタリングすることで、Picker のパフォーマンスを改善しました。(I94519、b/418192973)- API36 以降の
SwipeDismissableNavHostで、予測型「戻る」のアニメーション中に [戻る] ボタンを押すとアニメーションが中断して再開されるバグを修正しました。実装で Animatable ではなくSeakableTransitionState.animateToを使用するようになり、パフォーマンスが若干向上しました。(I2241f、b/428156670) AlertDialogのユーザー補助アナウンスの順序に関するバグを修正しました。このバグでは、確認ボタンが「ボタン」とアナウンスされていました。標準の [Confirm] ではなく、[Confirm](確認)と表示されます。Button'。(Ic2381、b/429378202)- 小さな画面での
TimePickerの数の視認性を改善しました。(I68386、b/447625365) - Wear Compose Foundation から Lazy Layout のフォークを削除しました。つまり、
TransformingLazyColumnはプリフェッチを含む Compose Foundation の Lazy Layout 実装を使用するようになり、ほとんどの場合、フレーム タイミングのパフォーマンスが向上します。(Idd743、b/445911630)
バージョン 1.6.0-alpha03
2025 年 10 月 8 日
androidx.wear.compose:compose-*:1.6.0-alpha03 がリリースされました。バージョン 1.6.0-alpha03 には、これらの commit が含まれています。
API の変更
TimePickerに、最初にフォーカスされる時間コンポーネントを指定するパラメータを追加しました。デフォルトでは、言語とTimePickerTypeに基づいて最初に使用可能なコンポーネントが選択されます。(Ie5dfe、b/437015874)CircularProgressIndicatordrawCircularProgressIndicatorメソッドの未使用のtargetProgressパラメータを削除しました。(Ieeb3c、b/430544552)
バグの修正
TransformingLazyColumnverticalAlignmentのサポートを追加 - 上、下、中央ベースの標準配置をサポートするようになりました。(I2e630、b/444143326)- テキストの前後のスペースを考慮して、曲線テキストの幅の計算を改善しました(曲線テキストを含むスクリーンショット、特に
TimeTextのような背景がある場合に、スクリーンショットが破損する可能性があります)。(I924a4、b/446601899) - Compose Foundation の
WarpedCurvedTextRendererを更新し、androidx.emoji2からEmojiCompatInitializerを選択して、ランタイム クラスのエラーを修正しました。(I589b4、b/444422736) CollectionInfoを使用してスクロール可能なノードにフォーカスするようにScalingLazyColumnを更新しました。これにより、Material3AlertDialogなど、より多くのコンテキストでロータリーが動作するようになります。(I6be3c、b/445332360)
バージョン 1.6.0-alpha02
2025 年 9 月 24 日
androidx.wear.compose:compose-*:1.6.0-alpha02 がリリースされました。バージョン 1.6.0-alpha02 には、これらの commit が含まれています。
API の変更
- 新しい
CurvedTextStyleパラメータwarpOffsetを使用したテキストのワープを導入し、特に筆記体フォントの曲線テキストのレンダリングを改善しました。(If5dcb)
バグの修正
TransformingLazyColumnでのスクロール中のアイテム アニメーション キャッシュ保存を最適化しました。(I62ae8)OpenOnPhoneDialogとConfirmationDialogのバリエーションが更新され、FLAG_KEEP_SCREEN_ONが設定されるようになりました。これにより、アニメーションが最後まで実行され、ダイアログが意図したとおりに自動的に閉じられるようになります。(Iad7d4)- API 36 以降で
Modifier.edgeSwipeToDismissをSwipeDismissableNavHostとともに使用するとクラッシュするバグを修正しました。(Ifc13d) - 新しい
CurvedTextStyle warpOffsetパラメータに関連付けられたドキュメントとコメントを更新し、Unspecified ケースを正しく参照するようにしました。(I41aa5)
バージョン 1.6.0-alpha01
2025 年 9 月 10 日
androidx.wear.compose:compose-*:1.6.0-alpha01 がリリースされました。バージョン 1.6.0-alpha01 にはこれらの commit が含まれています。
API の変更
Card、TitleCard、OutlinedCard、AppCardにクリック不可のバリエーションを追加しました(I509bb、b/406690146)- クリックできない新しいカード API から
interactionSourceパラメータを削除しました。(If0c7a、b/440323280) TimePickerコンポーネントに新しいMinutesSecondsタイプを追加しました。これにより、時間列が省略され、分と秒の列のみが表示されます(Ia9e94、b/438004664)
バグの修正
HorizontalPagerScaffoldの修飾子パラメータの使用を修正し、Modifier.fillMaxSize()を追加してもHorizontalPagerがページ インジケーターを失わないようにしました(I07ae1、b/441682601)- デフォルトで
ScrollIndicatorの方向をコンテンツ レイアウトの方向と一致させます。(I0da0f、b/441489028) TransformingLazyColumnと併用した際のScrollAwayの問題を修正しました。別の画面に移動してから戻ると、TimeTextが正しくスクロールされない。(Ic0ef1、b/433549148)- 画面の上部/下部のエッジケースにおける
SCROLL_BACKWARDSとSCROLL_FORWARDSのセマンティクスのTransformingLazyColumnレポートを修正(I5c28d、b/405205994) - API 36 でスワイプして戻った後、進行中のトランジションが完了としてマークされない
SwipeDismissableNavHostのバグを修正しました。(Ife72e、b/441089689) - 「スマートフォンを確認してください」という文言の一部が切り捨てられるのを防ぐため、デフォルトの
OpenOnPhoneMaxSweepAngleを 200 度に更新します。(Ib2e4c、b/428243902)
Wear Compose バージョン 1.5
バージョン 1.5.4
2025 年 10 月 22 日
androidx.wear.compose:compose-*:1.5.4 がリリースされました。バージョン 1.5.4 にはこれらの commit が含まれています。
バグの修正
LaunchedEffectの使用をリファクタリングすることで、Picker のパフォーマンスを改善しました。(I94519、b/418192973)- API36 以降の
SwipeDismissableNavHostで、予測型「戻る」のアニメーション中に [戻る] ボタンを押すとアニメーションが中断して再開されるバグを修正しました。実装で Animatable ではなくSeakableTransitionState.animateToを使用するようになり、パフォーマンスが若干向上しました。(I2241f、b/428156670) AlertDialogのユーザー補助アナウンスの順序に関するバグを修正しました。このバグでは、確認ボタンが「ボタン」とアナウンスされていました。標準の [Confirm] ではなく、[Confirm](確認)と表示されます。Button'。(Ic2381、b/429378202)
バージョン 1.5.3
2025 年 10 月 8 日
androidx.wear.compose:compose-*:1.5.3 がリリースされました。バージョン 1.5.3 にはこれらの commit が含まれています。
バグの修正
TransformingLazyColumnverticalAlignmentのサポートを追加 - 上、下、中央ベースの標準配置をサポートするようになりました。(I2e630、b/444143326)
バージョン 1.5.2
2025 年 9 月 24 日
androidx.wear.compose:compose-*:1.5.2 がリリースされました。バージョン 1.5.2 にはこれらの commit が含まれています。
バグの修正
TransformingLazyColumnでのスクロール中のアイテム アニメーション キャッシュ保存を最適化しました。(I62ae8)OpenOnPhoneDialogとConfirmationDialogのバリエーションが更新され、FLAG_KEEP_SCREEN_ON が設定されるようになりました。これにより、アニメーションが最後まで実行され、ダイアログが意図したとおりに自動的に閉じられます。(Iad7d4)- API 36 以降で
Modifier.edgeSwipeToDismissをSwipeDismissableNavHostとともに使用するとクラッシュするバグを修正しました。(Ifc13d) - 新しい
CurvedTextStyle warpOffsetパラメータに関連付けられたドキュメントとコメントを更新し、Unspecified ケースを正しく参照するようにしました。(I41aa5)
バージョン 1.5.1
2025 年 9 月 10 日
androidx.wear.compose:compose-*:1.5.1 がリリースされました。バージョン 1.5.1 にはこれらの commit が含まれています。
バグの修正
HorizontalPagerScaffoldの修飾子パラメータの使用方法を修正し、Modifier.fillMaxSize()を追加しても HorizontalPager がページ インジケーターを失わないようにしました(I07ae1、b/441682601)- デフォルトで
ScrollIndicatorの方向をコンテンツ レイアウトの方向と一致させます。(I0da0f、b/441489028) TransformingLazyColumnと併用した際のScrollAwayの問題を修正しました。別の画面に移動してから戻ると、TimeTextが正しくスクロールされない。(Ic0ef1、b/433549148)- 画面の上部/下部のエッジケースにおける
SCROLL_BACKWARDSとSCROLL_FORWARDSのセマンティクスのTransformingLazyColumnレポートを修正(I5c28d、b/405205994) - API 36 でスワイプして戻った後、進行中のトランジションが完了としてマークされない
SwipeDismissableNavHostのバグを修正しました。(Ife72e、b/441089689) - 「スマートフォンを確認してください」という文言の一部が切り捨てられるのを防ぐため、デフォルトの
OpenOnPhoneMaxSweepAngleを 200 度に更新します。(Ib2e4c、b/428243902)
バージョン 1.5.0
2025 年 8 月 27 日
androidx.wear.compose:compose-*:1.5.0 がリリースされました。バージョン 1.5.0 にはこれらの commit が含まれています。
1.4.0 以降の重要な変更
新しい Material 3 Expressive デザイン システムをサポートする Wear Compose マテリアル 3 ライブラリの初回リリース。このリリースに含まれる機能は以下のとおりです。
MaterialThemeとダイナミック カラーのテーマ設定を更新しました。- 画面の構造をレイアウトし、
ScrollIndicator、TimeText、HorizontalPageIndicator、VerticalPageIndicatorのアニメーションを調整するための新しいAppScaffold, ScreenScaffold、HorizontalPagerScaffold、VerticalPagerScaffoldコンポーネント。 - シェイプ モーフィング
IconButton、TextButton、IconToggleButton、TextToggleButton。押すかチェックするとアニメーションするバリエーションがあります。 EdgeButton。画面の下部に合わせて設計された特別な形状をしています。ButtonGroupは、タッチするとシェイプ モーフィングする行に、表現力豊かなボタンのグループを実装します。- 追加のダイアログ コンテンツのバリエーションを含む
AlertDialogとConfirmationDialog。 TimePickerコンポーネントとDatePickerコンポーネント。- 進行状況インジケーターには、
CircularProgressIndicator(セグメント化されたバリエーションあり)、ArcProgressIndicator、LinearProgressIndicatorがあります。
また、Wear Compose Foundation 1.5.0 には次の機能が含まれています。
TransformingLazyColumn。スケーリングとモーフィング アニメーションをサポートする、遅延読み込みの縦方向スクロール リスト。HorizontalPagerとVerticalPagerを使用した Wear Compose Foundation のページングのサポート。- 階層型フォーカス グループ - アプリケーション内のコンポーザブルにアノテーションを付け、コンポジションのアクティブな部分を追跡してフォーカスを調整するために使用されます。
(Wear OS 向け Material 3 Expressive)の詳細をご覧ください。
その他の変更
- バージョン 1.5.0 で導入された機能の完全なリストについては、(beta01 リリースノート)をご覧ください。
バージョン 1.5.0-rc02
2025 年 8 月 13 日
androidx.wear.compose:compose-*:1.5.0-rc02 がリリースされました。バージョン 1.5.0-rc02 にはこれらの commit が含まれています。
バグの修正
TimePickerで、期間(午前/午後)の長い国際化された文字列によってレイアウトが崩れるバグを修正しました。(I0fa81)
バージョン 1.5.0-rc01
2025 年 7 月 30 日
androidx.wear.compose:compose-*:1.5.0-rc01 がリリースされました。バージョン 1.5.0-rc01 にはこれらの commit が含まれています。
バグの修正
TimePickerはユーザーの言語 / 地域によって完全に制御されるようになり、DateFormat.getBestDateTimePatternを使用して選択ツールと区切り文字の順序と内容を決定します。これにより、CJK 言語の列の順序が正しくない問題が修正され、アラビア語などの言語の RTL レイアウトの問題が解決され、ローカライズされた区切り文字が使用され、ロケールに基づいて 0 ~ 11 時形式と 1 ~ 12 時形式の両方がサポートされます(I5d543)DatePickerは、CJK などの一部のロケールで、数値と言語形式の混在を避けるために、月の数値を表示するようになりました(例: 2025 | 7 月 | 02 ではなく、2025 | 07 | 02 とします。この変更では、ロケールで年の言語接尾辞が使用されているかどうかを確認するヒューリスティックが適用されます。使用されている場合は、整合性を保つために月の形式がテキスト形式(MMM)から数値形式(MM)に切り替えられます。(Ia93fe)- Picker コンポーネントのヘッダーの垂直スペースが一定になり、特に
Talkbackモードで、ピッカー列が選択されたときに表示がずれるのを防ぎます。(I7f8b7) HorizontalPageIndicatorとVerticalPageIndicatorが全画面で描画されることで発生するユーザー補助のバグを修正しました。ページ インジケーターは全画面表示ではなくなり、HorizontalPagerScaffoldまたはVerticalPagerScaffoldとともに使用すると自動的に配置されます。ページャ スキャフォールディングを使用しない場合は、modifier = Modifier.align(Alignment.BottomCenter)とHorizontalPageIndicator、modifier =Modifier.align(Alignment.CenterEnd)とVerticalPageIndicatorを使用して、配置を明示的に指定します。(I3a0ad)SwipeToRevealのスワイプ方向が、LTR と RTL の両方のLayoutDirectionsで一貫性を持つようになりました。(I6d427)- アクションの
SwipeToReveal垂直方向の中央揃えを復元しました。hasPartiallyRevealedState = trueの場合、スクロールが発生したときに、呼び出し元によってRevealStateがRevealValue.Coveredにリセットされる必要があります。(I6473d) SwipeDismissableNavHostが API 36 以降のコンテンツを正しくクリップするようになりました。(Ib9a44)
バージョン 1.5.0-beta06
2025 年 7 月 16 日
androidx.wear.compose:compose-*:1.5.0-beta06 がリリースされました。バージョン 1.5.0-beta06 には、これらの commit が含まれています。
バグの修正
LazyColumnまたはScalingLazyColumnにreverseLayout = trueがある場合のEdgeButtonアニメーションを修正(I46a1a)ScrollIndicator/PageIndicatorが提供されている場合、Talkback でタップして探索が機能しないScreenScaffoldのバグを修正しました。(I6dcee)TransformingLazyColumnでは、バックグラウンド ペインタでTransformationSpecが提供するitemHeight値を読み取ることで、TransformationSpecからのカスタム モーフィングが可能になりました。(I6a599)IconButtonの有効/無効の色の切り替えをアニメーション化し、IconToggleButtonとの整合性を保ちます。(Ife10a)- アニメーション時に最小ドットサイズへの目立ったジャンプを回避するため、
CircularProgressIndicatorの最小セクションのクランプを削除しました。この変更の一環として、drawCircularProgressIndicatorのtargetProgressパラメータは使用されなくなりました。(I33309) - ピッカーにセマンティック ロール
ValuePickerが追加されました。スクリーン リーダーでこのロールを使用すると、ピッカーのアクセシビリティが向上します。Picker のアクセシビリティ クリックラベルも更新され、読み取り専用モードでの値の調整と、それ以外の場合の現在の値の選択が区別されるようになりました。(I33309)
バージョン 1.5.0-beta05
2025 年 7 月 2 日
androidx.wear.compose:compose-*:1.5.0-beta05 がリリースされました。バージョン 1.5.0-beta05 には、これらの commit が含まれています。
バグの修正
Modifier.edgeSwipeToDismissの使用方法を明確にするため、ドキュメントを更新しました(I78cb5)- 遅延リストで
SwipeToRevealを使用すると、複数の表示されたアイテムが表示される可能性があるバグに対処しました(I1d4f6) TransformingLazyColumnのコンテナの形状がスケーリングされるようになり、コンテンツがクリップされるのを防ぐことができます。(I9221a)- 時間/分/秒または年/月/日の
TimePickerラベルとDatePickerラベルに、スクリーン リーダー用の見出しセマンティクスが追加されました(I77d8b) - 不定の
CircularProgressIndicatorでループ間の一時停止を削除しました(Iaf0bb) - アイテムが削除されたときに
TransformingLazyColumnで発生するアニメーションのバグを修正しました。(I73034) - アイテムが削除されたときの
TransformingLazyColumnでのアンカー アイテムの処理を修正しました。(I841a8) - 自動中央揃えがオンで、選択された(中央揃えの)Picker が変更された場合、
PickerGroupが Picker を水平方向にアニメーション表示するようになりました。(Ic82c4)
バージョン 1.5.0-beta04
2025 年 6 月 18 日
androidx.wear.compose:compose-*:1.5.0-beta04 がリリースされました。バージョン 1.5.0-beta04 にはこれらの commit が含まれています。
バグの修正
TransformingLazyColumnのレイアウトのバグを修正しました。画面内に収まるコンテンツが画面の上部から正しく配置されるようになりました(I80115)EdgeButtonを使用してリストの最下部までスクロールしたときに、最下部のアイテムが誤ってスケーリングされるTransformingLazyColumnの問題を修正しました。レイアウトを復元する際に、スクロールの進行状況が勾配降下法に従うようになりました。(Iea375)TransformingLazyColumnがバックグラウンド ペインタ内のアイテムの高さを読み取るようになり、カスタムTransformationSpecsでモーフィングを実装できるようになりました。(I022f0)SwipeToRevealが、表示されたアクションを垂直方向に正しく中央揃えするようになりました。(I4419b)- 画面上でビューとコンポーズの両方が使用されている場合に、スワイプして閉じる機能が正しく動作しない原因となっていた
SwipeToRevealのバグを修正しました。(I5dc0e) - スクロール時に
SwipeToRevealアクションが垂直方向にオフセットされて描画されるバグを修正しました。(I29444) AlertDialog、ConfirmationDialog、OpenOnPhoneDialog、SwipeToRevealは、画面サイズの割合として計算されるパディングとサイズを切り上げるようになりました。(I76367)ButtonDefaults.outlinedButtonBorderが有効/無効の状態の変化に応じてサイズを更新するようになりました(If2ddd)- Pager と
ScreenScaffoldを含む複雑な画面で発生していたEdgeButtonの高さに関するバグを修正しました。(I946e3) - プレースホルダのアニメーションが停止する可能性のある競合状態を修正しました。(I53530)
- Canvas に描画することで、
HorizontalPageIndicatorとVerticalPageIndicatorのパフォーマンスが改善されました。(Ifae1e) - EdgeButton の形状を調整し、アウトラインを構成する省略記号と円の間のトランジションをスムーズにしました。(I7721e)
- 不必要な再コンポーズによりアニメーションが停止する原因となっていた
LevelIndicatorのバグを修正しました。(I45d08)
バージョン 1.5.0-beta03
2025 年 6 月 4 日
androidx.wear.compose:compose-*:1.5.0-beta03 がリリースされました。バージョン 1.5.0-beta03 には、これらの commit が含まれています。
API の変更
OpenOnPhoneDialogは TalkBack でメッセージ テキストのみを読み上げ、アイコンのセマンティクスをスキップするようになりました。OpenOnPhoneDialogDefaultsが更新され、icon()からiconContentDescriptionパラメータとcontentDescriptionパラメータが削除されました。また、ConfirmationDialogDefaultsにSuccessIconコンポーザブルとFailureIconコンポーザブルの修飾子パラメータが追加されました。(Id2ae2)
バグの修正
SurfaceTransformationパラメータの効果を適用する順序を変更しました。以前は、Wear Material3 コンポーネントに適用される変換は、背景ペインタ、コンテナ変換、コンテンツ変換の順で行われていました。最初の 2 つが反転され、それらの間に渡された修飾子が適用されるため、コンテナの変換の影響を受けます。これにより、変換パラメータを使用して TLC の要素でプレースホルダのシマー効果を使用するなどのケースが修正されます。(I786cf)RevealState.Saverは、アクティビティまたはプロセスが再作成されたときにSwipeToRevealの状態を復元するために使用されるよう追加されました。rememberRevealState関数は、デフォルトでこの Saver を使用するようになりました。(Ie0ecb)SwipeToRevealのメイン アクション ボタンとサブアクション ボタンのデフォルトがButtonDefault.Heightになるようにしました(背の高いボタンの最大高まで埋められていたバグを修正しました)。(Ibfba1)- 右スワイプ ジェスチャーが実行されたときに、最後に操作したコンポーネントをリセットするように
SwipeToRevealを変更しました。(Ia8450) - スワイプの終了位置が、表示アンカーと表示済みアンカーの間にあり、表示アンカーに近い場合、
SwipeToRevealはRevealing状態に落ち着くように変更されました。(If4458) - RTL レイアウトで
ButtonGroupのコンテンツが適切に反転されるようになりました(Ib378d) AnimatedTextが RTL テキスト方向をサポートするようになりました(I4533c)- 下部のアイテムが削除されたときに
TransformingLazyColumnがアイテムのサイズを正しく変更するようになりました(Idacab) TransformingLazyColumnでは測定パスが 1 回だけになり、フレーム時間が短縮されることでパフォーマンスが向上します。(I501a1)
バージョン 1.5.0-beta02
2025 年 5 月 20 日
androidx.wear.compose:compose-*:1.5.0-beta02 がリリースされました。バージョン 1.5.0-beta02 にはこれらの commit が含まれています。
バグの修正
- foundation、material、material3 ライブラリのベースライン プロファイルが更新されました。(I53f06)
TransformingLazyColumnのバグを修正しました。このバグでは、一番下のアイテムが削除されるとアイテムのサイズが変更されていました。(Idacab)- リストがリストの先頭または末尾で動かなくなる
TransformingLazyColumnのバグを修正しました。(I49d00) - TalkBack の
OpenOnPhoneDialogは、アイコンの内容説明ではなく、曲線テキストを読み上げる必要があります。(I4efe8) hasPartiallyRevealedStateが false に設定されている場合にRevealState.currentValueで誤ったアンカーをレポートするSwipeToRevealのバグを修正しました。(I9c7cf)SwipeToRevealの元に戻すボタンがデフォルトでButtonDefaults.Heightになりました。(I1f6c8)- スクリムの描画に Canvas を使用しないようにすることで、
BasicSwipeToDismissBoxのパフォーマンスが改善されました。(I68f2c) - スライダーのユーザー補助のバグを修正しました。更新後に読み上げられる割合が値と一致しないというバグです(I91146)
placeholderShimmer実装のバグを修正しました。(Iee39bScrollProgressの計算を 30% 最適化することで、TransformingLazyColumnのパフォーマンスが向上しました。(I4c4cb)
バージョン 1.5.0-beta01
2025 年 5 月 7 日
androidx.wear.compose:compose-*:1.5.0-beta01 がリリースされました。バージョン 1.5.0-beta01 にはこれらの commit が含まれています。
Wear OS 向け Compose 1.5.0-beta01 では、ライブラリのこのリリースは機能が完成し、API がロックされていることが表明されました(試験運用版としてマークされている場合を除く)。
Wear Compose 1.5.0-beta01 には、Wear Compose Material3 ライブラリが含まれています。このライブラリは、Material 3 Expressive と呼ばれる新しい UI デザイン システムをサポートしています。アプリで新しいビジュアル デザインを採用し、新しいコンポーネントのメリットを享受するために、Material から Material3 へのアップグレードをおすすめします。
MaterialTheme: 更新および拡張されたカラーパターン、タイポグラフィ、シェイプを使用して、デザインに深みと多様性をもたらします。- ダイナミック カラー テーマ設定: ウォッチフェイスの色に合わせてアプリのカラーパターンを自動的に生成します。
- 新しいコンポーネントはデフォルトで大画面サイズに自動的に適応
- シェイプ モーフィング -
IconButton、TextButton、IconToggleButton、TextToggleButtonなどの丸いボタン コンポーネントは、押されたときやチェックされたときにアニメーション化されるバリエーションをサポートします。 EdgeButton- 画面下部に配置するために設計された特別な形状の新しいエッジハグボタン。- Scaffold -
AppScaffoldとScreenScaffoldを導入して、画面の構造をレイアウトし、ScrollIndicatorとTimeTextのアニメーションを調整します。 - ボタン - 柔軟なシングルスロット コンテナと、アイコンとラベル付きのボタン用のマルチスロット バリエーションを備えた、多数のスタジアム型のボタンがサポートされています。切り替えボタンが必要な場合は
CheckboxButtonとSwitchButtonが提供され、RadioButtonは利用可能な選択ボタンです(切り替えボタンと選択ボタンの「分割」バリエーションも提供されます)。 ButtonGroup- タッチするとシェイプ モーフィングするボタンの表現力豊かなグループを 1 行で実装します。AlertDialogバリエーションは、[OK] ボタンと [キャンセル] ボタン、またはEdgeButtonをサポートします。ConfirmationDialogを使用すると、タイムアウト付きのメッセージを表示できます。成功、失敗、スマートフォンで開くバリエーションの特別なアニメーションをサポートしています。- ピッカー -
TimePickerとDatePickerのバリエーションがサポートされています。また、独自のピッカー画面を構築するための Picker コンポーネントとPickerGroupコンポーネントもサポートされています。 ProgressIndicators- 円形と線形の進行状況インジケーターがサポートされています(CircularProgressIndicatorにはセグメント化されたバリエーションと不定のバリエーションがあります)。- カード -
TitleCardを含むさまざまなカード バリエーションが用意されています。TitleCardでは、タイトル、時間、サブタイトル、コンテンツ スロットを含むカードの特定のレイアウトが提供されます。TitleCardに画像背景を設定して、カード内の情報の意味を強調することもできます。 - ページャ -
HorizontalPagerScaffold、VerticalPagerScaffold、AnimatedPageコンポーネントはHorizontalPageIndicatorアニメーションとVerticalPagerIndicatorアニメーションを調整します。HorizontalPagerとVerticalPagerは Wear Compose Foundation ライブラリでリリースされています。 - プレースホルダ - 仮のコンテンツがない場合に、コンポーネントの上にスケルトン形状を描画します。
- スライダーとステッパー - どちらも、ユーザーが値の範囲から選択できるようにします。スライダーはよりコンパクトで、セグメント化できます。一方、ステッパーは通常
StepperLevelIndicatorと組み合わせて使用される全画面コンポーネントです。 SwipeToReveal- コンポーザブルが右から左にスワイプされたときに、コンポーザブルに追加のアクションを追加するために使用されます。
また、Wear Compose Foundation 1.5.0-beta01 には、次の新しいコンポーネントが含まれています。
TransformingLazyColumn- スケーリングとモーフィング アニメーションをサポートする、遅延読み込みの縦方向スクロール リスト- 階層型フォーカス グループ - アプリケーション内のコンポーザブルにアノテーションを付け、コンポジションのアクティブな部分を追跡してフォーカスを調整するために使用されます。
- ページャー -
HorizontalPagerコンポーネントとVerticalPagerコンポーネント。Compose Foundation コンポーネントをベースに、パフォーマンスの向上と Wear OS ガイドラインの遵守を目的とした Wear 固有の拡張機能が追加されています。
API の変更
- 階層フォーカス API を更新 -
Modifier.hierarchicalFocusをModifier.hierarchicalFocusGroupに変更し、コールバック パラメータを削除しました。FocusRequesterパラメータを含むModifier.hierarchicalFocusRequesterのオーバーロードを削除しました。コンポーネントがアクティブな画面を通知して確認できるように、新しいCompositionLocal、LocalScreenIsActiveを作成しました。(I5ff7c)。 - Wear Compose Material と Wear Compose Material3 の
SwipeToRevealAPI を優先して、Wear Compose Foundation のSwipeToRevealを非推奨としました。API を引き続き使用するには、Wear Foundation のSwipeToRevealインポートを Wear Compose Material/ Wear Compose Material3 のインポートに置き換えてください。(Ia147d)。 - Wear Compose Material3 の Foundation への
SwipeToReveal依存関係が material3 パッケージに移動しました(RevealValue、RevealDirection、RevealActionType、RevealState、rememberRevealStateなど)。デベロッパーは、これらのクラスと関数のインポートをandroidx.wear.compose.foundationからandroidx.wear.compose.material3に変更する必要があります。(I640e6)。 - Wear Compose Material3
SwipeToRevealAPI を次のように更新しました。SwipeToRevealコンポーザブルにprimaryAction、onFullSwipe、secondaryAction、undoPrimaryAction、undoSecondaryAction、hasPartiallyRevealedStateパラメータを追加しました。RevealStateからpositionalThresholdとanimationSpecをカスタマイズする機能を削除しました。RevealStateからlastActionType、revealThreshold、幅を削除しました。RevealStateコンストラクタをアンカーの代わりにRevealDirectionを受け入れるように変更しました。createRevealAnchors、アンカー、bidirectionalAnchors関数を削除しました。SwipeToRevealScope関数のprimaryAction、secondaryAction、undoPrimaryAction、undoSecondaryActionの名前をPrimaryActionButton、SecondaryActionButton、UndoActionButtonに変更し、コンポーザブル関数にしました。RevealActionTypeを内部としてマークしました。(I885d0)。 SwipeToRevealAPI をさらに更新しました。onFullSwipeをonSwipePrimaryActionに名前変更しました。hasPartiallyRevealedStateパラメータの使用を示すようにSwipeToRevealNonAnchoredSampleを名前変更しました。デフォルトはボタンのデフォルトの高さであり、より大きな高さは修飾子を使用して設定できるため、actionButtonHeightを削除しました。SwipeToRevealDefaultsからSmallActionButtonHeightを削除しました。RevealValueとRevealDirectionのコンストラクタの value パラメータを非公開にしました。(I465ce)。
バグの修正
ScreenScaffoldのEdgeButtonの処理を修正し、TransformingLazyColumnアイテムが削除された後、EdgeButtonがアニメーションで所定の位置に移動するようにしました。(I6d366)。- Compose ライブラリでの Wear Compose の依存関係をバージョン 1.8.0 に更新しました。(I2ef3f)。
- 一時的に後退しないように、不確定の
CircularProgressIndicatorの動きを更新しました。(Ieddb1)。 SwipeDismissableNavHostのバグを修正しました。スワイプして戻った後にフォーカスが正しく切り替わらず、ロータリー入力が失敗する問題を修正しました(これは、予測型「戻る」を使用する API 36 以降が対象です)。(Ieddb1)。- 階層フォーカス API のドキュメントを修正しました(Idf2ff)。
- Button と Card のドキュメントを更新し、
containerPainterとdisabledContainerPainterがcontainerColorとdisabledContainerColorをオーバーライドする方法を記載しました(I4a453)。 - 前のリリースで
TimeTextの変更を元に戻しました。この変更では、BroadcastReceiverがワーカー スレッドに移動されていましたが、ナビゲーション中に独自のスレッド処理を管理するアプリで問題が発生していました。(I34d02)。 - Picker のサンプルを更新し、不要な remember 呼び出しを削除して、代わりに Picker で
rememberUpdatedStateを使用して最新のcontentDescriptionラムダ関数を記憶するようにしました。(Icb5b1)。 TimePickerとDatePickerのテキスト スタイルを更新し、フォントを変更しても切り捨てが発生しないようにしました。(I26194)。ListHeaderとListSubHeaderで、テキストの配置がそれぞれ中央揃えと左揃えにデフォルト設定されるようになりました。(I78339)。- Foundation と Material のスワイプして表示するサンプルとデモを更新し、カスタム アクセシビリティ アクションをアナウンスするようにしました(カスタム アクションは
SwipeToRevealコンポーザブル自体ではなく、コンテンツのセマンティクスとして追加する必要があります)。(Ie92a3)。 EdgeButtonコンテンツに設定されるデフォルトのMaxLinesをサイズに応じて更新しました。XS は 1、S と M は 2、L は 3 になりました。(Ie35f6)。- パフォーマンスを向上させるため、オブザーバーが 1 回だけ登録されるように
LocalReduceMotionを簡素化しました。(Ib1979)。 - パフォーマンスを向上させるため、
ScrollIndicatorの再描画の回数を最小限に抑えました。(Ia7a67)。 TransformingLazyColumnのバグを修正しました。このバグでは、EdgeButton が最大高さに達したときに、リストの最上部の表示アイテムが正しくスケーリングされませんでした。(I30580)。
バージョン 1.5.0-alpha14
2025 年 4 月 23 日
androidx.wear.compose:compose-*:1.5.0-alpha14 がリリースされました。バージョン 1.5.0-alpha14 にはこれらの commit が含まれています。
API の変更
- Foundation
SwipeToRevealの MaterialSwipeToReveal依存関係はすべて、Material パッケージ(RevealValue、RevealDirection、RevealActionType、RevealState、rememberRevealStateなど)に移動されました。デベロッパーは、これらのクラスと関数のインポートをandroidx.wear.compose.foundationからandroidx.wear.compose.materialに変更する必要があります。(Ib7cb8) HierarchicalFocusCoordinatorの API をコンポーザブルではなく修飾子に変更しました。- 移行に関する注意事項:
HierarchicalFocusCoordinator(function, content)は、contentまたは囲みコンポーザブルにModifier.hierarchicalFocus(function())を追加することで置き換えることができます。ActiveFocusListener { if (it) focusRequester.requestFocus() }は、Modifier.hierarchicalFocusRequester(focusRequester)を追加することで置き換えることができますActiveFocusListenerの他のまれな使用例では、Modifier.hierarchicalFocusの新しいパラメータを使用できます。focusRequester(rememberActiveFocusRequester())はhierarchicalFocusRequester()に置き換えることができますval focusRequester = rememberActiveFocusRequester()は、remember { FocusRequester() }に置き換えてModifier.hierarchicalFocusRequester(focusRequester)を追加できます。(Ie319a)
バグの修正
- 次のコンポーネントで、スワイプ ジェスチャーが状態の変化をトリガーするために超える必要のある速度のしきい値が引き上げられました。
SwipeToReveal、BasicSwipeToDismissBox、SwipeDismissableNavHost(SwipeDismissableNavHostの場合は API 35 以下のみ)。(If47bf) - 新しいアイテムが
TransformingLazyColumnに追加されたときのアニメーションに関する問題を修正しました。(I589b2)
バージョン 1.5.0-alpha13
2025 年 4 月 9 日
androidx.wear.compose:compose-*:1.5.0-alpha13 がリリースされました。バージョン 1.5.0-alpha13 には、これらの commit が含まれています。
API の変更
- Kotlin 2.0 でリリースされたプロジェクトを使用するには、KGP 2.0.0 以降が必要です(Idb6b5)
targetPageプロパティをPagerStateに追加しました(I4de8b)
バグの修正
- 予測型「戻る」操作中の不要な再コンポーズを防止します。(Iecd6d)
- 現在の値を返すように
ScrollInfoProviderのisScrollableプロパティを修正しました。(Icbfb8)
バージョン 1.5.0-alpha12
2025 年 3 月 26 日
androidx.wear.compose:compose-*:1.5.0-alpha12 がリリースされました。バージョン 1.5.0-alpha12 にはこれらの commit が含まれています。
API の変更
- コンポーネントの状態が Covered の場合にのみジェスチャーを無視するよう、
gestureInclusionのSwipeToRevealデフォルト実装を改善しました。(I7e3d6) SwipeToRevealでは、bidirectionalGestureInclusionを関数ではなく val にし、gestureInclusionのedgeZoneFractionパラメータに@FloatRangeを追加しました。(Ica7c3)
バグの修正
- クラスではなくオブジェクトを返すように
SwipeToRevealbidirectionalGestureInclusionを変更します。(I29597) RoboElectricでテストを実行する際のハプティクス使用を無効化。(I58bd1)- コンテンツとアクション ボタンの間の
SwipeToRevealパディングと、アクション ボタンのアイコンとテキストの間のパディングを更新します。(Ic46cb)
バージョン 1.5.0-alpha11
2025 年 3 月 12 日
androidx.wear.compose:compose-*:1.5.0-alpha11 がリリースされました。バージョン 1.5.0-alpha11 にはこれらの commit が含まれています。
API の変更
PagerStateを更新し、ベースクラスとして Compose FoundationPagerStateを削除して、currentPage、currentPageOffsetFraction、pageCountプロパティを追加しました。GestureInclusionインターフェースを更新し、メソッドの名前をignoreGestureStartに変更しました。(I4ae07)SwipeToDismissBoxStateのオフセットを取得する推奨方法として、requireOffsetをSwipeToDismissBoxStateに追加しました。(I21042)CurvedModifier.semanticsを追加しました。最初はコンテンツの説明とトラバーサル インデックスをサポートします(I0b093)CurvedModifier.clearAndSetSemanticsを追加して、曲線のセマンティクスをオフにする手段を提供しました。CurvedTextは引き続きコンテンツの説明をテキストにデフォルト設定しますが、timeTextCurvedTextとtimeTextSeparatorはコンテンツをアナウンスしなくなりました。(I4b568)HorizontalPagerのスワイプ ジェスチャーのデフォルトの処理の名前がPagerDefaults.gestureInclusionに変更されました。デフォルトの動作では、最初のページの左端から始まるスワイプ操作のみが無視されるようになり、Talkback がオフになっている場合にのみ無視されます。それ以外の場合、デフォルトの動作では、スワイプ操作はページャによって無視されないため、スワイプして閉じるハンドラで使用できません。(Iee486)rotaryScrollableAPI にロータリー オーバースクロールを追加しました。rotaryScrollableのフリング動作にオーバースクロールとネストされたスクロールを追加しました。この変更により、タッチ スクロールとロータリー スクロール間で、同等のオーバースクロールとネストされたスクロール機能が実現します。(I71926)SwipeToRevealにエッジスワイプ ゾーンのサポートを追加しました。FoundationSwipeToRevealのデフォルトの動作が、ジェスチャーがエッジから開始された場合にスワイプを許可しないように変更されました。Material3SwipeToRevealのデフォルトの動作は、SwipeDirectionが単一方向に設定されている場合、ジェスチャーがエッジから開始されたときにスワイプを許可しないようになりました。(I32ef0)- TLC では、最初と最後のアイテムを中央に配置する代わりに、デフォルトで空の contentPadding を使用するようになりました。(I77ab7)
バグの修正
バージョン 1.5.0-alpha10
2025 年 2 月 26 日
androidx.wear.compose:compose-*:1.5.0-alpha10 がリリースされました。バージョン 1.5.0-alpha10 にはこれらの commit が含まれています。
API の変更
SwipeToRevealDefaultsを公開しました。(I0c34c)HorizontalPagerのswipeToDismissEdgeZoneFractionパラメータを置き換えました。代わりに、必要なスワイプで閉じる動作を実現するために使用できる新しいパラメータgestureInclusionが導入されました。gestureInclusionはGestureInclusionのインスタンスを受け取り、後続のスクロール イベントを続行するかどうかを決定します。ジェスチャーを許可すると、Pager がジェスチャーを消費します。許可しない場合、ジェスチャーはスワイプして閉じるハンドラなど、別の場所で処理されます。新しいデフォルトの動作では、Pager の最初のページの左端でのジェスチャーが禁止されるため、この領域でスワイプして閉じることができます。他のすべてのページでは、Pager がすべてのジェスチャーを使用できるため、スワイプして閉じる操作をトリガーできません。すべてのページでスワイプして閉じる動作を実現するには、現在のページを無視するカスタムGestureInclusionインスタンス(PagerDefaults.disableLeftEdgeOnFirstPageを参照)を指定するだけです。ここで導入されたもう 1 つの破壊的変更は、Pager コンポーネントがデフォルトで全画面表示ではなくなったことです。この動作を実現するには、Modifier.fillMaxSize()を追加します。(I9d3aa)- スワイプして表示する API(If5999)で
createAnchorsの名前をcreateRevealAnchorsに変更しました。 - スワイプして表示する API から
RevealScopeを削除しました。(Ie4ad5) - スワイプして表示する API の
RevealValueから Revealing と Revealed を削除しました。(I8dbc5) - スワイプして表示する API で
SwipeDirectionの名前をRevealDirectionに変更しました。(I7472f) SwipeToRevealのrememberRevealState関数のpositionalThresholdパラメータのシグネチャを変更しました。(I29c0a)ScalingLazyColumn、TransformingLazyColumn、ScreenScaffoldに新しいoverscrollEffectパラメータを追加しました。(I0cee8)PagerDefaults#snapFlingBehaviourを使用する場合、pagerSnapDistanceパラメータは、Pager がフリングする最大ページ数を指定するために使用できる Int パラメータmaxFlingPagesに置き換えられました。(I8cfc0)- Wear Pager が、Compose Foundation の
PagerScopeではなく、独自のPagerScopeを持つようになりました。(I9195b) - 曲線テキストに
lineHeightのサポートを追加しました(I1c936) TransformingLazyColumnStateとrememberTransformingLazyColumnStateにinitialAnchorItemIndexとinitialAnchorItemOffsetを追加し、TransformationLazyColumnで初期スクロール位置を指定できるようにしました。(I0a0d5)runWithTimingDisabledは非推奨となり、runWithMeasurementDisabledが推奨されます。runWithMeasurementDisabledは、すべての指標が一時停止されるという動作をより明確に記述します。また、MicrobenchmarkScopeスーパークラスを公開します。これは、runWithMeasurementDisabled関数を再宣言してアクセスを開くことができないためです(インラインであるため)。(I9e23b、b/389149423、b/149979716)TransformingLazyColumnItemScrollProgressでのボクシングを回避するために、API にTransformingLazyColumnItemScrollProgress.Unspecifiedを追加しました。(I0835d)
バグの修正
CurvedTextStyleの Kdoc を改善(Id45e3)SwipeableV2(SwipeToReveal実装の一部)を公開ではなく内部化し、ライブラリ グループに制限しました。(Idbb94)HierarchicalFocusCoordinatorにテストを追加しました。(I1ce54、b/395548918)- Wear Compose の基盤サンプルで
SwipeToRevealを改善しました。(I5f307) - ユーザー補助機能のために
TransformingLazyColumnのverticalScrollAxisRangeのスクロール軸セマンティクス データを修正(I68123) - 不要なバックグラウンド スレッドを削除して、Wear4+ のロータリー ハプティクスのパフォーマンスを改善(I39cfe)
- API 36 以降でのみ
PredictiveBackNavHostを使用するようにSwipeDismissableNavHostを変更。(I59bed) - モーション軽減設定にアクセスする際のクラッシュを防ぐガードを追加しました。(I01e2c)
- ジャンクを減らすため、
TransformingLazyColumnのプリフェッチを実装しました(Icca88)
バージョン 1.5.0-alpha09
2025 年 1 月 29 日
androidx.wear.compose:compose-*:1.5.0-alpha09 がリリースされました。バージョン 1.5.0-alpha09 にはこれらの commit が含まれています。
API の変更
CurvedTextStyleでは、文字間隔を時計回りの文字間隔と反時計回りの文字間隔に分割しました。これは、時計回りの文字はベースラインから広がるのに対し、反時計回りの文字は内側に広がるため(文字間隔を大きくする必要があるため)必要です(I4b848)。CompositionLocalLocalReduceMotionが簡略化され、ReduceMotionオブジェクトではなくブール値を返すようになりました。ReduceMotionインターフェースは非推奨になりました。LocalReduceMotion.current.enabled()などの以前の呼び出しは、LocalReduceMotion.currentに置き換えることができます(I4937f)。PagerDefaultsで、snapAnimationSpecの名前をSnapAnimationSpecに変更しました。(I20c9a)
バージョン 1.5.0-alpha08
2025 年 1 月 15 日
androidx.wear.compose:compose-*:1.5.0-alpha08 がリリースされました。バージョン 1.5.0-alpha08 にはこれらの commit が含まれています。
API の変更
- すべての Wear Compose ライブラリを「明示的 API」モードに更新しました。(Iebf9f)
- ページャのスナップ アニメーション パラメータを
PagerDefaultsの一部にしました。(Ifff64) - オフセット パラメータを
SwipeToDismissBoxStateに追加しました。(I586bd)
バグの修正
- ロータリー プラットフォームのハプティクスは、V(Idb03e)以降の Wear OS バージョンで呼び出されるようになりました
バージョン 1.5.0-alpha07
2024 年 12 月 11 日
androidx.wear.compose:compose-*:1.5.0-alpha07 がリリースされました。バージョン 1.5.0-alpha07 には、これらの commit が含まれています。
API の変更
TransformingLazyColumnStateで、アンカー アイテムのインデックスに基づいて現在のスクロールの進行状況を観察できるようになりました。(I72b01)- 新しい
Modifier.animateItemがある場合、アイテムの追加、削除、移動時にTransformingLazyColumnにアニメーションを追加しました。(Iecb9c) TransformingLazyColumnがbeforeContentPaddingとafterContentPaddingの値をエクスポーズするようになりました。(Iccd5f)TransformingLazyColumnは、コンポーネント(Material3 のCardやButtonなど)がTransformingLazyColumn内に配置されたときに自動的にモーフィングするために使用できるコンポジション ローカルLocalTransformingLazyColumnItemScopeを提供するようになりました。呼び出し元は、新しいTransformExclusionラッパーを使用して自動モーフィングを無効にできます。(I1652f)
バグの修正
- U 以降をターゲットとするデバイスのロータリーの最小フリング速度と最大フリング速度を更新しました。(I33559)
TransformingLazyColumnのアイテムにコンポーザブルが含まれていない場合に発生するクラッシュを修正しました(Idb99d)- Android Vanilla ice cream でロータリー ハプティクスの
ScrollFeedbackProviderサポートを追加しました。(Ibc553) SwipeToRevealを使用する際にタッチ スロップを大きくすることで、縦方向にスクロールする際にスワイプが誤ってトリガーされる可能性を減らしました。(Ic0672)- API 35 以降で
PredictiveBackHandlerが利用可能な場合に使用するようにSwipeDismissableNavHostを更新しました。その場合、新しいアニメーションが適用されます。(I08c11)
バージョン 1.5.0-alpha06
2024 年 11 月 13 日
androidx.wear.compose:compose-*:1.5.0-alpha06 がリリースされました。バージョン 1.5.0-alpha06 にはこれらの commit が含まれています。
API の変更
- 不要になった
orientationパラメータを削除して、PagerStateのScrollInfoProviderを簡素化しました。新しい動作では、水平方向と垂直方向のページングの両方でTimeTextがその場に留まります。(I71767) TransformingLazyColumnは以前のリリースで導入されました。新しい名前TransformingLazyColumnを優先するため、Wear のLazyColumnエイリアス(TransformingLazyColumnに転送されていた)を削除します。また、TransformingLazyColumnVisibleItemInfoのheightプロパティも削除しました。代わりにmeasuredHeightを使用してください。(I0ea1e)PagerDefaults.snapFlingBehaviorsnapAnimationSpecをTweenからSpring仕様に変更しました。(I10d02、b/349781047、b/303807950)LocalReduceMotionCompositionLocalを安定版に昇格しました(Ia6f32)
バグの修正
- ロータリーでのセマンティクスのサポートを改善するため、
Modifier.rotaryScrollableを更新してfocusTargetWithSemanticsを使用するようにしました。(Ief0a0) - Compose ライブラリの最小 API 依存関係を 1.7.4 に更新しました。(I88b46)
- クリッピング バグの回避策として、
TransformingLazyColumnで幅のモーフィングを無効にしました。(I3dfb8) TransformingLazyColumnでオーバー スクロールした後にアイテムが消える原因となっていたバグを修正しました(Id7668)TransformingLazyColumn用にLazyLayoutSemanticsを追加しました。(Ia8f56)
バージョン 1.5.0-alpha05
2024 年 10 月 30 日
androidx.wear.compose:compose-*:1.5.0-alpha05 がリリースされました。バージョン 1.5.0-alpha05 にはこれらの commit が含まれています。
API の変更
TransformingLazyColumnStateでanimateScrollToのサポートを追加し、アイテムへのスクロールをアニメーション化できるようにしました。(I4097d)TransformingLazyColumnStateにrequestScrollToを追加して、スクロールを次の測定まで遅延させました。(I20a5e)TransformingLazyColumnでcontentPaddingのサポートを追加しました。(I3a69c)
バグの修正
- コンテンツの高さが画面の高さよりも短い場合に
TransformingLazyColumnをレンダリングする際のバグを修正しました。(I6c3e1) TransformingLazyColumnのScrollInfoProvderが、最初のアイテムを正しくトラッキングするようになりました。(I1e4a3)TransformingLazyColumnStateが状態(anchorItemIndexとanchorItemScrollOffset)を保存するようになりました。(I3d265)
バージョン 1.5.0-alpha04
2024 年 10 月 16 日
androidx.wear.compose:compose-*:1.5.0-alpha04 がリリースされました。バージョン 1.5.0-alpha04 には、これらの commit が含まれています。
API の変更
- Wear Compose Foundation
LazyColumnの名前をTransformingLazyColumnに変更し、Compose FoundationLazyColumnとの区別を明確にしました。(I0608b) - 水平/垂直ページャーのロータリー サポートを追加しました。これにより、ユーザーはロータリー入力デバイスを使用してページャーを操作できます。(I9770d)
- ページャがデフォルトでページにスナップすることが明確になるよう、新しい
PagerDefaultsを更新しました。(Iff7d0) TransformingLazyColumnItemScrollProgressが値クラスになり、パフォーマンスが向上します。(Ic399e)TransformingLazyColumnがロータリーをすぐに利用できるようになりました。(I05206)TransformingLazyColumnStateがscrollToItemをサポートするようになりました。(I507b3)SwipeToRevealAPI から@ExperimentalWearFoundationApiを削除しました(I34a66)
バージョン 1.5.0-alpha03
2024 年 10 月 2 日
androidx.wear.compose:compose-*:1.5.0-alpha03 がリリースされました。バージョン 1.5.0-alpha03 には、これらの commit が含まれています。
API の変更
- 現在の画面でスワイプして閉じる機能がサポートされていないまれなケースに対応するため、
SwipeToRevealで双方向スワイプのサポートを追加しました。。デフォルトでは、右から左へのスワイプでのみスワイプして表示されます。スワイプして閉じる操作との競合を避けるため、デフォルトの動作を尊重することを強く推奨します。(Ifac04) LazyColumnStateを更新してcanScrollForwardとcanScrollBackwardをオーバーライドしました。これにより、最初または最後のアイテムが画面の中央に正確に配置されたときにスクロールが停止するようになりました。(Ia77d7)- Wear で発生する可能性のある、フォーカスの処理やシステム スワイプによる閉じる操作とのやり取りなどの一般的な問題に対処する新しい
HorizontalPagerコンポーネントとVerticalPagerコンポーネントを追加しました。(I2902b) LazyColumnのサポートを追加し、クライアントのkeyとcontentTypeをlayoutItemsを介して公開できるようにしました。(I1bd9c)
バグの修正
- ペイント フラグを使用して、曲線テキストのアニメーションをよりスムーズに更新しました。(I73a15)
- show フラグが false に設定された後に
onDismissRequestが呼び出されないことを反映するように、マテリアル ダイアログのドキュメントを更新しました。(Ifd8d6) - マテリアル ダイアログの周辺減光アニメーションに関するバグを修正しました(I126bf)
バージョン 1.5.0-alpha02
2024 年 9 月 18 日
androidx.wear.compose:compose-*:1.5.0-alpha02 がリリースされました。バージョン 1.5.0-alpha02 には、これらの commit が含まれています。
API の変更
ScreenScaffoldで Wear ComposeLazyColumnのサポートを追加しました(また、LazyColumnState用のScrollInfoProviderの実装も追加しました)。(Ib8d29)LazyColumnLayoutInfoにviewportSizeを追加しました。(I4187f)
バグの修正
userScrollEnabledフラグがfalseに設定されている場合、ScalingLazyColumnでロータリー スクロールが無効になるようにバグを修正しました。(I490ab、b/360295825)- 曲線テキストの予期しない垂直方向のパディングに対処するため、バグを修正しました。曲線テキストの高さが、テキストで使用される実際のスペースにより近い値になりました。この変更により、曲線テキスト(Iaa6ef)を含むスクリーンショット テストが失敗する可能性があります。
showDialogが false に設定されているときにonDismissRequestコールバックが呼び出されるDialogのバグ修正を元に戻しました。これは、場合によってはonDismissRequestが複数回呼び出される原因となるためです。(I64656)
バージョン 1.5.0-alpha01
2024 年 9 月 4 日
androidx.wear.compose:compose-*:1.5.0-alpha01 がリリースされました。バージョン 1.5.0-alpha01 にはこれらの commit が含まれています。
API の変更
- 関連する
LazyColumnStateAPI とLazyColumnScopeAPI を含む新しいLazyColumnを Wear Compose Foundation ライブラリに追加しました。これは、Wear Compose でカスタマイズ可能なスケーリング効果とモーフィング効果を構築するための基盤となります。(Ib3b22) - 新しい
LazyColumnAPI の一部として、itemsIndexedのインデックス付きバージョンをLazyColumnScopeに追加しました。(Ib4a57) - スケーリングとモーフィングの動作をサポートするため、
LazyColumn修飾子を追加しました。(Ie229a) HierarchicalFocusCoordinatorが安定版に昇格しました。(I31035)- 曲線テキストに文字間隔のサポートを追加しました。(I3c740)
- コンポーネントの回転を停止するために、
CurvedLayout.curvedComposableにrotationLockedパラメータを追加しました。(I66898) - wear material と wear material3 の一時的な
LocalUseFallbackRippleImplementationAPI が削除されました(I62282) @WearPreviewDevicesマルチ プレビューからWearDevices.SQUAREを削除しました(I11c02)
バグの修正
SwipeToRevealで、表示されたアイテムが画面の表示部分に配置されるようになりました。これにより、SwipeToRevealをリスト内で使用する場合に、アイテムが常に操作可能で、画面外に移動することがなくなります。(I38929)SwipeToRevealがanimatedToの完了時にlastActionTypeを None にリセットするようになりました。(I59b03)curvedComposableの新しいrotationLockedパラメータに関するドキュメントを改善しました。(Ifbd57)NaNをScalingLazyColumnSnapFlingBehaviorのperformFlingに渡すときに発生するクラッシュを修正しました。(Ic13da)- 曲線レイアウト サイズ修飾子のバグを修正しました(I0fedf)
- 「sp」で指定された文字間隔のサポートを追加しました。(I9f6e3)
- ダイアログが非表示になったときに
onDismissRequestコールバックが呼び出されない Material2 ダイアログのバグを修正しました(I64656) LayoutCoordinates.introducesFrameOfReferenceの名前をLayoutCoordinates.introducesMotionFrameOfReferenceに変更し、目的をより明確にしました。そのフラグに基づいて座標を計算する関連関数の名前を変更しました。(I3a330)
バージョン 1.4
バージョン 1.4.1
2025 年 2 月 12 日
androidx.wear.compose:compose-*:1.4.1 がリリースされました。バージョン 1.4.1 にはこれらの commit が含まれています。
バグの修正
- 一部のプラットフォームでモーション軽減設定が提供されていない場合に、その設定にアクセスするとクラッシュする問題を回避しました。(I01e2c)
バージョン 1.4.0
2024 年 9 月 4 日
androidx.wear.compose:compose-*:1.4.0 がリリースされました。バージョン 1.4.0 にはこれらのコミットが含まれています。
1.3.0 以降の重要な変更
ScalingLazyColumnとPickerはデフォルトでロータリー入力をサポートするようになりました。明示的なロータリー処理を削除し、デフォルトのシステム動作に委ねることをおすすめします。必要に応じて、rotaryScrollableBehaviorパラメータを使用してスクロールまたはスナップの動作を構成します。スナップの動作の場合、flingBehaviorパラメータを使用してスナップの動作とタッチ スクロール機能を指定することをおすすめします。Modifier.rotaryScrollableは、回転イベントをスクロール可能なコンテナに接続する新しい修飾子です。これにより、ユーザーは Wear OS デバイスのリューズまたは回転ベゼルを使用してスクロールできます。SwipeDismissableNavHostで、アプリ内遷移のエントリ アニメーションが提供されるようになりました。- 画面が最初に表示されるときに、
PositionIndicatorがデフォルトで表示されるようになりました。
その他の変更
- バージョン 1.3.0 で導入された変更点の完全なセットについては、beta01 リリースノートをご覧ください。
バージョン 1.4.0-rc01
2024 年 8 月 21 日
androidx.wear.compose:compose-*:1.4.0-rc01 がリリースされました。バージョン 1.4.0-rc01 には、これらの commit が含まれています。
- Compose の依存関係を 1.7.0-rc01 に更新し、Wear Compose Navigation を androidx.lifecycle 2.8.3 に固定しました
バージョン 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)TalkBackでProgressIndicatorがアナウンスを繰り返す問題を修正しました。(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 デバイスのリューズまたは回転ベゼルでスクロールできるようにします。また、ScalingLazyColumnとPickerがデフォルトでロータリー入力をサポートするようになりました。rotaryScrollableBehaviorパラメータを使用して、スクロールまたはスナップの動作を構成します。スナップ動作の場合、タッチ スクロールでもflingBehaviorパラメータを介してスナップを提供することをおすすめします。SwipeDismissableNavHostで、アプリ内遷移のエントリ アニメーションが提供されるようになりました。- 画面が最初に表示されるときに、
PositionIndicatorがデフォルトで表示されるようになりました。 ToggleChipのバリエーションとしてSelectableChipとSplitSelectableChipが追加されました。ユーザー補助機能で切り替え可能なセマンティクスではなく選択可能なセマンティクスを提供するには、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 snapOffsetのsnapOffsetパラメータの型を Int から Dp に変更しました。(Iddebe) SplitSelectableChipのclickInteractionSourceパラメータの名前をcontainerInteractionSourceに変更しました。(Ia8f84)SplitSelectableChipのクリック コールバック パラメータ名を更新しました(onClickからonSelectionClick、onBodyClickからonContainerClick)。(I32237)
バグの修正
PositionIndicator(スクロールバー)がスクロール可能なコンテンツと重なるバグを修正するため、PositionIndicatorの水平方向のパディングを 2 dp(以前は 5 dp)に更新しました。この変更により、パディングが変更されるため、PositionIndicatorを含む既存のスクリーンショットは破損する可能性があります。(I57472)- 低解像度と高解像度のロータリー デバイスの違いを説明することで、新しいロータリー API のドキュメントを改善しました。(I63abe)
- 補間されたアルファ値が 0 未満の場合にトリガーされる可能性のある
SwipeDismissableNavHostの範囲外例外に対処しました。(Ib75a1、b/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パラメータが snap に設定されている場合は、タッチ スクロール用にflingBehaviorパラメータでも snap を指定することをおすすめします。(I2ef6f)NestedScrollソースのドラッグとフリングは、UserInputとSideEffectに置き換えられます。これは、これらのソースの定義が拡張され、アニメーション(Side Effect)、マウスホイールとキーボード(UserInput)が含まれるようになったためです。(I40579)Switch/Checkboxなどの切り替えコントロールとRadioButtonなどの選択可能なコントロールの区別を明確にするため、SelectableChipとSplitSelectableChipを追加しました。これにより、以前に追加されたToggleChip/SplitToggleChipのオーバーロードがselectionControlパラメータに置き換えられます。(Ia0217)ProgressIndicatorDefaultsのIndeterminateStrokeWidthの可視性修飾子を 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 の変更
ScalingLazyListStateのinitialCenterItemIndexプロパティと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パラメータを受け取るToggleChipとSplitToggleChipの新しいオーバーロードを追加しました。これは、ユーザー補助機能のために切り替え可能なセマンティクスではなく選択可能なセマンティクスを提供するために、RadioButtonコントロールとともに使用する必要があります(I1d6d9)- 新しい
selectionControlオーバーロードのパラメータ名をonSelectedからonSelectに更新しました(ToggleChipとSplitToggleChipの場合)。(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 は、必要以上に多くの修飾子の無効化を作成するため、使用は推奨されなくなりました。ツールに修飾子のプロパティを公開したい場合は、ModifierNodeElementでinspectableProperties()メソッドを実装することをおすすめします。(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を更新しました。(I7290c、b/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 の変更
wear:compose-materialライブラリとwear:compose-material3ライブラリに新しいリップル API を追加しました。この API は、非推奨となったrememberRippleに代わるものです。また、Material コンポーネントを非推奨のrememberRipple/RippleThemeAPI を使用するように戻すための一時的なCompositionLocal、LocalUseFallbackRippleImplementationも追加します。これは次の安定版リリースで削除される予定です。カスタムRippleThemeを提供しているケースの一時的な移行支援のみを目的としています。移行情報とこの変更の背景については、developer.android.com をご覧ください。(af92b21)ColorSchemeを不変に変更しました。これにより、個々の色の更新の効率は低下しますが、色の一般的な使用の効率は向上します。この変更の理由は、ほとんどのアプリでは個々の色を更新することが主なユースケースではないためです。これは引き続き可能ですが、以前よりも再コンポーズが多くなり、マテリアル コード全体で状態サブスクリプションの量が大幅に減少し、より標準的なユースケースの初期化とランタイムのコストに影響します。(f5c48b7)- API で
MutableInteractionSourceを公開する Wear material コンポーネントと Wear material3 コンポーネントが更新され、デフォルトで null になる null 許容のMutableInteractionSourceを公開するようになりました。セマンティクスの変更はありません。null を渡すことは、MutableInteractionSourceをホイストしないことを意味します。必要に応じて、コンポーネント内で作成されます。null に変更すると、一部のコンポーネントでMutableInteractionSourceが割り当てられなくなり、他のコンポーネントでは必要なときにのみインスタンスが遅延作成されるため、これらのコンポーネント全体のパフォーマンスが向上します。これらのコンポーネントに渡すMutableInteractionSourceを使用していない場合は、代わりに null を渡すことをおすすめします。独自のコンポーネントでも同様の変更を行うことをおすすめします。(f8fa920) rememberExpandableStateを更新して、展開可能な状態を保存しました。これにより、別の画面に移動したときにデータが保存され、元の画面に戻ったときにデータが復元されます。(5c80095)
バグの修正
- ライフサイクル対応リスナーを使用するように
ReduceMotion設定を更新しました。(7c6b122) TouchExplorationStateProviderのリスナーをライフサイクル対応に更新しました(be28b01)- パフォーマンスを改善するため、
CompactButtonの materialcore レイヤを削除しました(25db8e9) - 例外を回避するため、NaN オフセットに対する
BasicSwipeToDismissBoxの堅牢性を高めました(b983739) - アルファ値が 0,1 の範囲内になるように
BasicSwipeToDismissBoxを更新しました。 ToggleButton、SplitToggleButton、Checkbox、Switch、RadioButtonのバグを修正し、ユーザー補助の読み上げが繰り返されないようにしました(以前はセマンティック ロールが重複していました)。(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パッケージの一部になりました。この更新されたアーキテクチャにより、他の設計上の考慮事項とは独立してジェスチャー処理を実装できます。マテリアル デザインのワークフロー(構成されたテーマから色を適用するなど)は個別に処理されます。SwipeToRevealCardクラスとSwipeToRevealChipクラスは、recommended swipe-to-reveal guidanceの実装に役立ちます。SwipeToRevealSampleクラスは、これらのコンポーネントの使用方法を示しています。1.3.0-alpha02 リリースでは、ユーザーが選択したフォント スケーリングをより適切にサポートするために、
ChipオブジェクトとToggleChipオブジェクトの高さが拡大される変更が導入されました。これにより、クリッピングが発生する可能性があります。この問題を解決するため、MaterialThemeのlargeシェイプで、より大きな角丸半径(24 dp ではなく 26 dp)が使用されるようになりました。ChipオブジェクトとToggleChipオブジェクトは、この新しい角丸半径を使用して、Chip とToggleChipの角でコンテンツが切り取られるのを防ぎます。- ほとんどの
ChipsとToggleChipsは、デフォルトの高さが 52 dp であるため、変更されません。ただし、プライマリ ラベルまたはセカンダリ ラベルのテキストが複数行含まれているChipオブジェクトとToggleChipオブジェクト、または高さがオーバーライドされているオブジェクトは、スクリーンショット テストを中断させる可能性があります。
- ほとんどの
その他の変更
バージョン 1.3.0 で導入された変更点の完全なセットについては、beta01 リリースノートをご覧ください。
実装に関する推奨事項
- 地図ベースのアプリのように、アプリでユーザーが画面のコンテンツをパンできる場合は、
SwipeDismissableNavHostコンポーザブルでuserSwipeEnabledをfalseに設定してスワイプ処理をオフにし、ユーザーが前の画面に戻れるボタンを含めます。 - スクロール リスト内のフェードイン アニメーションと位置変更アニメーションの間に位置インジケーターのアニメーションをオフにするには、
SnapSpecオブジェクトを使用します。 - メディアアプリが再生用のコンテンツを読み込むのを待っている間、空白の
Placeholderコンポーザブルを表示します。 - オンデマンドで展開可能なアイテムのコレクションを作成するには、試験運用版の
ExpandableStateMappingクラスの使用を検討してください。
バージョン 1.3.0-rc01
2024 年 1 月 10 日
androidx.wear.compose:compose-*:1.3.0-rc01 がリリースされました。バージョン 1.3.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
-
MaterialThemeの大きなシェイプを更新して、26dp の角丸半径を使用するようにしました。これは、Chip とToggleChipで使用されます。この変更は、大きなフォントサイズに対応するためにコンテンツの高さの調整が必要な場合に、高さを調整できるようにするために必要です。そうしないと、既存のスタジアム型の形状では一部のテキスト コンテンツが切り取られてしまいます。図 1: 角でクリップされたテキスト。 図 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 には、次の新機能が含まれています。
SwipeToDismissBoxState、SwipeToDismissValue、Modifier.edgeSwipeToDismissがandroidx.wear.compose.materialからandroidx.wear.compose.foundationに移行されました。また、BasicSwipeToDismissBoxの基盤となるスワイプして閉じる実装も移行されました。これにより、スワイプして閉じるジェスチャー処理をマテリアル デザインとは独立して使用できます(たとえば、androidx.wear.compose.navigationのSwipeDismissableNavHostから)。androidx.wear.compose.materialのSwipeToDismissBoxは、MaterialThemeから色を取得し、残りの実装をBasicSwipeToDismissBoxに委任するため、マテリアル デザインで使用することをおすすめします。SwipeDismissableNavHostが新しいuserSwipeEnabledパラメータをサポートするようになりました。これにより、スワイプ処理が不要な画面でスワイプ処理をオフにできます。BasicSwipeToDismissBoxはHierarchicalFocusCoordinatorを使用したフォーカス処理を改善しました。SwipeToRevealには、CardとChipの推奨 UX ガイダンスに沿った新しいSwipeToRevealCardコンポーザブルとSwipeToRevealChipコンポーザブルがマテリアルに用意されています。また、サブアクションの元に戻す機能もサポートしています。DefaultTextStyleでフォント パディングが無効になり、Android プラットフォーム全体で一貫性が保たれるようになりました。ChipとToggleChipが、ユーザー補助の大きなフォントによってコンテンツが大きくなった場合に対応するため、高さを調整するようになりましたPositionIndicatorに、フェードイン、フェードアウト、位置変更のアニメーションの個別の仕様が追加されました。パフォーマンス上の理由から、スクロール可能なリストで使用する場合は、フェードインと位置変更をオフにすることをおすすめします。ExpandableStateMappingは、@Composableスコープでなくても、オンデマンドでExpandableStatesを作成する必要がある場合に、ExpandableStatesを生成する新しい方法を提供します。Placeholderでは、コンテンツが準備完了状態ではなくなった場合にリセットできるようになりました。また、モーションを減らす設定がPlaceholderのきらめき効果とワイプオフ モーションにも適用されるようになりました。
既知の問題
- 画面が最初に表示されたとき、
PositionIndicatorは最初は表示されません。1.4 の初期のアルファ版で変更を行い、最初は表示されるものの、アニメーションは表示されないようにする予定です。
API の変更
- Foundation レベルの
SwipeToDismissBoxの名前をBasicSwipeToDismissBoxに変更しました。これにより、Foundation レベルのコンポーネントとマテリアル レベルのSwipeToDismissBoxの違いがより明確になります。後者は、MaterialThemeからスクリムで使用する色を取得し、残りの実装をBasicSwipeToDismissBoxに委任します。(Ibecfc) rememberExpandableStateMappingを試験運用版としてマークし、expandableItemのパフォーマンスを改善しました。(I5f6bc)- マテリアル
SwipeToRevealの Card API と Chip API のSwipeToRevealActionクラスを、SwipeToRevealPrimaryAction、SwipeToRevealSecondaryAction、SwipeToRevealUndoActionコンポーザブルを使用するスロットベースの API に置き換えました。新しい API の使用例については、サンプルコードをご覧ください。(Ia8943) PositionIndicatorアニメーション フラグをAnimationSpecパラメータに置き換えました。個々のアニメーションは、AnimationSpecとしてsnapを渡すことで無効にできます。(I6c523)
バグの修正
- サイズが制限されている場合に、制限された曲線テキストによってトリガーされるバグを修正しました(I50efe)
curvedComposableに関連する NaN クラッシュの可能性に対処しました(I970eb)PositionIndicatorでの位置変更のハイライト アニメーションの削除を元に戻しました。(Ieb424)- マテリアル チップのパフォーマンスを改善するため、material-core レイヤを削除しました。(If2dcb)
バージョン 1.3.0-alpha08
2023 年 10 月 18 日
androidx.wear.compose:compose-*:1.3.0-alpha08 がリリースされました。バージョン 1.3.0-alpha08 に含まれる commit については、こちらをご覧ください。
API の変更
- さまざまなアニメーション(
showFadeInAnimation、showFadeOutAnimation、showPositionAnimation)を制御するために、PositionIndicatorオーバーロードに個別のフラグを追加しました。以前の API は非推奨となり、呼び出しを新しい API に転送します。パフォーマンス上の理由と UX の一貫性のために、PositionIndicatorをスクロール可能なリストで使用する場合は、showFadeInAnimationフラグとshowPositionAnimationフラグをオフにすることをおすすめします。PositionIndicatorが音量変更などのスタンドアロンのインジケーターとして使用される場合は、3 つのアニメーションすべてをオンにすることをおすすめします。(I44294) - スワイプして閉じる機能が
wear.compose.foundationに移行したため、Material のSwipeToDismissBoxState、SwipeToDismissValue、edgeSwipeToDismissは非推奨となりました。wear.compose.foundationの同等のものに置き換えてください。(Iee8c9)
バグの修正
- Wear Compose の Foundation、Material、Navigation ライブラリのベースライン プロファイルを更新しました。(Idb060)
- 以前の CL で導入された
PositionIndicatorの動作変更を元に戻し、画面が最初に表示されたときにPositionIndicatorがアニメーション表示されるようにしました。1.4 の初期のアルファ版でも同様の変更を行い、PositionIndicatorが最初に表示されるようにする予定です。ただし、アニメーションは表示されません。(I41843) PositionIndicatorでパフォーマンスに関する問題の一部に対処しました。(I1c654、b/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に個別のフラグ(showFadeInAnimation、showFadeOutAnimation、showPositionAnimation)を追加し、さまざまなアニメーションを制御できるようにしました。以前の API は非推奨となり、呼び出しを新しい API に転送します。パフォーマンス上の理由と UX の一貫性のために、PositionIndicatorをスクロール可能なリストで使用する場合は、showFadeInAnimationフラグとshowPositionAnimationフラグをオフにすることをおすすめします。PositionIndicatorが音量変更などのスタンドアロンのインジケーターとして使用される場合は、3 つのアニメーションすべてをオンにすることをおすすめします。(Ia2d63)
バグの修正
- メインのアクション テキストにフェード アニメーションを追加し、サブのアクションをフェードアウトしたり、完全にスワイプして展開したときにアイコンのスケールを変更したりすることで、スワイプして表示するモーションを改善しました。(Ib7223)
- スワイプして表示するアクションをユーザー補助に対応させることをおすすめします。スワイプして表示するサンプルにカスタムのユーザー補助アクションを追加しました。(I42224)
SwipeToDismissBoxのパフォーマンスを改善しました。これには、初期ロジックで再コンポーズがトリガーされないようにするためのリファクタリングが含まれます。SwipeToDismissBoxが全画面サイズで描画されるようになりました。(Ie0aa2)PositionIndicatorが誤って消えてしまうバグを修正しました。(I2091a)- 再コンポーズを最適化することで
PositionIndicatorのパフォーマンスを改善しました。アニメーションを制御するための新しいフラグ(fadeIn、fadeOut、positionChange)が後から追加されました(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のサポートを追加しました。(I95774、b/293444286)- マテリアルの
SwipeToRevealChipとSwipeToRevealCardのサンプルを追加しました。(Ieb974) - Wear Compose Foundation ライブラリと Material ライブラリのベースライン プロファイルを更新しました。(I1dd1f)
バージョン 1.3.0-alpha05
2023 年 9 月 6 日
androidx.wear.compose:compose-*:1.3.0-alpha05 がリリースされました。バージョン 1.3.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
- Swipe to Reveal で、一度に 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 Material3 ライブラリに
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) - 以前にコメントで説明した
FloatRangeアノテーションを API 制約として有効にしました。(Icb401)
バグの修正
ScalingLazyColumnの初期スクロール ロジックをonGloballyPositioned()の中に移動しました。(Ic90f1)PositionIndicator、ProgressIndicator、SelectionControlsでdrawWithCacheを使用して、ストロークの割り当てを最適化するようになりました。(I5f225、b/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スコープ内(Iff9e0)でなくても、オンデマンドでExpandableStatesを作成する必要があるケース向けに、ExpandableStatesを生成する新しい方法としてExpandableStateMappingを提供しています。SwipeToDismissBoxがandroidx.wear.compose.materialパッケージからandroidx.wear.compose.foundationパッケージに移行されました。(I275fb)- 互換性の抑制をアノテーションする API ファイルを更新しました。(I8e87a、b/287516207)
Chip、CompactChip、ToggleChipの高さの定数を公開しました(Idbfde)ChipとCompactChipの水平パディングと垂直パディングを公開しました。(Ieeaf7)- 新しい
userSwipeEnabledパラメータを使用して、SwipeDismissableNavHostでスワイプ処理をオフにする機能を追加しました。(Id2a0b、b/230865655) - Wear Compose Foundation の新しい
SwipeToDismissBoxを使用するよう Wear Compose Navigation ライブラリを更新しました。(I4ff8e)
バグの修正
- ボタンがある場合にボタンの動作をクリックした後に
expandedItemが正しいコンテンツを表示しない z オーダーのバグを修正しました。(I1899d、b/289991514) HierarchicalFocusCoordinatorを使用してSwipeToDismissBox(およびSwipeDismissableNavHost)のフォーカス処理を改善(I45362、b/277852486)SwipeableV2でのジェスチャー処理を修正しました。(I89737)- 1.2 リリースのベースライン プロファイルを確定しました。(Id5740)
SwipeToDismissBoxの Foundation への移行に伴い、マテリアルのSwipeToDismissBox実装は Foundation に転送され、テーマからデフォルトのカラー値が提供されるようになりました。(If8451)ListHeaderに見出しのセマンティクスを追加しました。(Ic5420)ChipとToggleChipは、ユーザー補助の大きなフォントによりコンテンツが拡大した場合、必要に応じて高さを調整するようになりました。(Iaf302)- ユーザー補助機能のため、
SplitToggleChipのタップ可能なエリアのセマンティック ロールのバグを修正しました。(Ieed3a) - アニメーションを減らす設定で、プレースホルダのきらめき効果とワイプオフ モーションが無効になるようになりました。(I91046)
StepperとInlineSliderが長押しでのクリックの繰り返しをサポートするようになりました。これにより、+ ボタンまたは - ボタンを長押しすることで、StepperとInlineSliderの値をすばやく増減できます。(I27359)
バージョン 1.3.0-alpha01
2023 年 6 月 21 日
androidx.wear.compose:compose-*:1.3.0-alpha01 がリリースされました。バージョン 1.3.0-alpha01 に含まれる commit については、こちらをご覧ください。
バグの修正
1.2.0-alpha07と1.2.0-alpha10でお知らせしたとおり、Android プラットフォーム全体で一貫性を保つため、DefaultTextStyleを変更してフォント パディングをオフにします。これにより、大きなフォントサイズでテキストがクリップされるケースがいくつか解消されますが、画面レイアウトにも影響する可能性があるため、スクリーンショット テストを更新する必要があります。たとえば、ここではテキストのクリッピングが見られます(Ic6a86)。
- フォント パディングをオフにすると、表示されなくなります。
wear.compose.foundationをwear.compose.materialの API 依存関係として更新しました(I72004、b/285404743)SwipeToDismissBoxのバグを修正しました。コンテンツまたは背景が変更されたときに新しい修飾子が作成されるように、背景キーとコンテンツ キーが remember ブロックに渡されるようになりました。(Ib876c、b/280392104)- 12 時間形式または 24 時間形式の形式を選択する際にロケールを使用するように
TimeTextを更新しました。(If4a3d) SwipeToDismissBoxcontentScrimColorのデフォルト パラメータの不整合を修正しました。(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でスケーリングとフェードを無効にする新しい試験運用版のLocalReduceMotionCompositionLocal変数を追加しました。(I58024)
バグの修正
- Wear Compose の Foundation ライブラリと Material ライブラリのベースライン プロファイルを更新しました。(I4725d)
SwipeToDismissBoxcontentScrimColorパラメータのデフォルト値の不整合を修正しました(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 向け Compose 1.2 の概要
Wear OS 向け Compose 1.2-beta01 では、ライブラリのこのリリースは機能が完成し、API がロックされていることが表明されました(試験運用版としてマークされている場合を除く)。Wear Compose 1.2 には、次の新機能が含まれています。
expandableItemとexpandableItemsは、ScalingLazyColumn内のアイテムの展開をサポートする 2 つの新しいFoundationコンポーネントです。行数が決まっているテキストなど、1 つの展開可能なアイテムにはexpandableItemを使用します。展開可能な項目のグループにはexpandableItemsを使用し、コンテンツが展開された後に折りたたまれるボタンの作成を簡素化するにはexpandableButtonを使用します。HierarchicalFocusCoordinator- この試験運用版のコンポーザブルを使用すると、コンポジションのサブツリーをフォーカス有効またはフォーカス無効としてマークできます。Picker- 選択ツールがユーザーのスクロールに対してアクティブかどうかを制御するuserScrollEnabledが API に追加されました。PickerGroup- 複数の Picker をまとめて処理するための新しいコンポーザブル。HierarchicalFocusCoordinatorAPI を使用して Picker 間のフォーカスを処理し、Picker アイテムの自動中央揃えを有効にします。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は、複数のフォントサイズでウェアラブル デバイスのコンポーザブルをプレビューし、WearPreviewDevicesは、さまざまなウェアラブル デバイスのコンポーザブルをプレビューします。- Wear Compose に
DefaultTextStyleを追加しました。これにより、PlatformTextStyle.includeFontPaddingプロパティがデフォルトで true に設定されます(現在の設定)。これにより、フォント パディングをデフォルトでオフにする処理を、1.3 の初期アルファ版の Compose ライブラリと同期させることができます。詳しくは、1.2.0-alpha10 をご覧ください。
新機能
- reduce_motion 設定がオンになっている場合に、スケーリングとフェードイン / フェードアウトのアニメーションを無効にする試験運用版のサポートを追加しました。(I58024)
バグの修正
CurvedSize.ktのangularWidthDpに関するドキュメントを改善しました(Iab75c)SwipeDismissableNavHostは、空のバックスタックの考えられる原因とともに警告をログに記録するようになりました。これは、バックスタックが空のときにスローされたIllegalArgumentExceptionが原因で発生する予期しないクラッシュを防ぐために行われます。(I04a81、b/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)
バグの修正
- フリング後に Wear API 33 で
ScalingLazyColumnがスタックする問題を修正しました(Ic4599) - ジャンクを減らすために、
PositionIndicatorのパフォーマンスを改善しました。(I35e92) - チップと
CompactChipで、セマンティック ロールがRole.Buttonに設定されなくなるバグを修正しました。(I93f91、b/277326264)
既知の問題
Android Studio で、@WearPreviewDevices と @WearPreviewFontScales でアノテーションを付けるとプレビューのレンダリングが失敗するバグが特定されました。修正はまもなくリリースされる予定です。なお、他の Wear プレビュー アノテーションは Android Studio Giraffe 2022.3.1 以降で意図したとおりに動作します。
バージョン 1.2.0-alpha07 では、Wear Compose に DefaultTextStyle を追加し、既存の PlatformTextStyle.includeFontPadding の値を true に維持しました。背景については、Compose でのフォント パディングの修正をご覧ください。Android プラットフォーム全体で一貫性を保つため、早期の 1.3 アルファ版で DefaultTextStyle を変更し、フォント パディングをオフにします。これにより、大きなフォントサイズでテキストがクリップされるケースがいくつか解決されますが、画面レイアウトにも影響する可能性があるため、スクリーンショット テストを更新する必要があります。たとえば、フォントサイズが大きいと、テキストがクリップされます。
- フォント パディングをオフにすると、表示されなくなります。
新しい設定は、テーマのタイポグラフィをオーバーライドすることで、今すぐ採用できます。コード例をご覧ください。
バージョン 1.2.0-alpha09
2023 年 4 月 19 日
androidx.wear.compose:compose-*:1.2.0-alpha09 がリリースされました。バージョン 1.2.0-alpha09 に含まれるコミットについては、こちらをご覧ください。
API の変更
- DP で角度の幅を設定するための
CurvedModifierAPI にangularSizeDpを追加(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 の変更
- Expandable Item コンポーネント(1.2.0-alpha06 で追加)は、
MaterialThemeへの意味のある参照がなかったため、マテリアルからファウンデーションに移動しました。(Ib0525)
バグの修正
PickerGroupを使用する画面で発生していたクラッシュを修正しました。Picker にフォーカスがない場合にPickerGroupがフォーカスを正しく処理するようにしました。また、Picker のデモで RSB スクロールをサポートしました。(If8c19)- ダイアログのトランジションを改善しました。イントロ トランジションがアウトロ トランジションに合わせてスムーズになりました。(Ib5af9)
- Wear Compose に
DefaultTextStyleを追加しました。これにより、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)- Expandable Item(s) を追加 -
ScalingLazyColumn内の展開可能なアイテムのグループ、または展開可能な単一アイテム(行数が展開されるテキストなど)のいずれかをサポートする 2 つの新しいコンポーネント。(I95dd5) - Wear 画面でコンポーザブルをプレビューするためのカスタム アノテーションとして、
WearPreviewSmallRound(小型の円形デバイスでコンポーザブルをプレビュー)、WearPreviewLargeRound(大型の円形デバイスでコンポーザブルをプレビュー)、WearPreviewSquare(正方形のデバイスでコンポーザブルをプレビュー)を追加しました。また、次のアノテーションとマルチプレビュー アノテーションがあります。WearPreviewFontScalesは、複数のフォントサイズでウェアラブル デバイス上のコンポーザブルをプレビューし、WearPreviewDevicesは、さまざまなウェアラブル デバイス上のコンポーザブルをプレビューします。これらのプレビューを使用するには、最新の Android Studio(Giraffe Canary 6)以降を使用する必要があります。なお、これらのアノテーションが目的に合わない場合は、プレビューを引き続き使用できます。また、パラメータを使用してさらにカスタマイズすることもできます。(I397ff) HierarchicalFocusCoordinatorは、幅広い適用性があるため、コアの Compose ライブラリに移行する候補と見なされていますが、試験運用版としてマークされています。(I3a768)
バグの修正
HierarchicalFocusCoordinatorのバグを修正しました。focusEnabledパラメータに渡されたラムダが変更された場合、新しいラムダが正しく使用されるようになりました。(Icb353)Button、CompactButton、Chip、CompactChip、ToggleButtonで背景にプライマリ カラーを使用する場合、デフォルトの無効コンテンツの色を Background に更新しました。これにより、アクセシビリティのコントラストが向上します。(I527cc)
バージョン 1.2.0-alpha05
2023 年 2 月 22 日
androidx.wear.compose:compose-*:1.2.0-alpha05 がリリースされました。バージョン 1.2.0-alpha05 に含まれる commit については、こちらをご覧ください。
API の変更
- オプションとして最小制約をコンポーザブルに伝播できるように
PickerGroupAPI を更新しました。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を横方向のスクロール ページ内にネストできるようにしました。(Iec3f8、b/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.LazyのScalingLazyListStateを使用するようScrollAway修飾子を更新し、Wear Compose Material のScalingLazyListStateを取得するオーバーロードを非推奨としました。(Ifc42c) Foundation.LazyのScalingLazyListStateを使用するよう Dialog API を更新し、マテリアルのScalingLazyListStateを使用するオーバーロードを非推奨としました。(Ic8960)Foundation.LazyのScalingParamsを使用するよう 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などを介して)アイドル状態にするためフレームの実行時にフレームごとにレイアウトパスを実行するようになりました。この変更は、レイアウト アニメーションの個々のフレームでアサートするテストに影響する可能性があります。(I8ea08、b/222093277) BasicTextと動作を同一にするためパラメータminLinesが Wear Text に追加されました。(I24874)CompactChipTapTargetPaddingが一般公開され、ドキュメントに掲載されるようになりました。(If1e70、b/234119038)
バグの修正
wear.composeパッケージのマルチプラットフォーム ビルドを無効にしました。(Iad3d7)scrollToOptionの KDocs を修正しました。(I6f9a0)rememberUpdatedStateを使用するようPlaceholderState.rememberPlaceholderState()を更新し、onContentReadyラムダの場合に状態が更新されるようにしました。(I02635、b/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を更新しました。これにより、TimeTextAPI の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 のリスト項目に対する
LazyListStateとScalingLazyListStateのPositionIndicatorの処理を修正しました。(Ic28dd)
バージョン 1.1
バージョン 1.1.2
2023 年 2 月 8 日
androidx.wear.compose:compose-foundation:1.1.2、androidx.wear.compose:compose-material:1.1.2、androidx.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.1、androidx.wear.compose:compose-material:1.1.1、androidx.wear.compose:compose-navigation:1.1.1 がリリースされました。バージョン 1.1.1 に含まれる commit については、こちらをご覧ください。
バグの修正
rememberUpdatedStateを使用するようPlaceholderState.rememberPlaceholderState()を更新し、onContentReadyラムダの場合に状態が更新されるようにしました。(I02635、b/260343754)
バージョン 1.1.0
2022 年 12 月 7 日
androidx.wear.compose:compose-foundation:1.1.0、androidx.wear.compose:compose-material:1.1.0、androidx.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 のリスト項目に対する
LazyListStateとScalingLazyListStateのPositionIndicatorの処理を修正しました。(Ic28dd)
バージョン 1.1.0-rc01
2022 年 11 月 9 日
androidx.wear.compose:compose-foundation:1.1.0-rc01、androidx.wear.compose:compose-material:1.1.0-rc01、androidx.wear.compose:compose-navigation:1.1.0-rc01 がリリースされました。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
Placeholders、ScrollAway、RadioButton、Switch、Checkbox、OutlinedButton、OutlinedCompactButton、OutlinedChip、OutlinedCompactChipのベースライン プロファイル ルールを追加しました。(I8249c)Modifier.scrollAwayのバグを修正しました。これにより、指定されたitemIndexが無効である(たとえば、アイテム インデックスが範囲外である)場合でもTimeTextが表示されるようになりました。(I2137a)- プラットフォームの実装に合わせて
SwipeToDismissBoxアニメーションを更新しました。最初のスクイーズ アニメーションの後、非表示がトリガーされると、画面が右にスライドして隠れるようになります。(I41d34) - 最適化の一環として、
Modifier.scrollAwayを更新し、測定ブロック内のscrollStateのみを読み取るようにしました。これにより、再測定のたびに修飾子が再コンポーズされることを回避できます。(I4c6f1) - プレースホルダにドキュメントとサンプルを追加して、同じコンポーザブルに適用した場合の
Modifier.placeholderとModifier.placeholderShimmerの正しい順序を示しました。(Ie96f4、b/256583229) - 最終的な UX の仕様に合わせて、
OutlinedCompactChip/OutlinedChipのデフォルトの枠線の太さを 2.dp から 1.dp に変更しました。(Ib3d8e) rememberPickerStateで更新された入力が保存されず、入力の変更後にコンポーザブルが更新されないバグを修正しました。(I49ff6、b/255323197)- プレースホルダの UI を更新し、1)シマー グラデーションを画面サイズの 1.5 倍に変更し、2)シマーの進行のイージング(3 次ベジェ)を追加し、3)wipeOff アニメーションを高速化しました(250 ミリ秒)。(Id29c1)
- 画面上のコンポーネントの位置が考慮されていないため、チップとカードの背景が少し早めに消えるという、プレースホルダの wipeOff エフェクトにおける UI のバグを修正しました。(I2c7cb)
- プレースホルダの背景の描画を更新して、可能であれば色を重ねるのではなく合成するようにしました。これにより、切り抜いた複数のレイヤのアルファ ブレンディングのリスクを減らし、プレースホルダの背景の端で下の色がはみ出ないようにしました。(I2ea26)
- ビューポートの中心線の両側に 2 つのアイテムが 1 つずつある場合、最も近いものが
centerItemと見なされるように、ScalingLazyListState.centerItemIndex/centerItemOffsetの計算を修正しました。(I30709、b/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-beta01、androidx.wear.compose:compose-material:1.1.0-beta01、androidx.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を追加しました(オーバーロードによってColumn、LazyColumn、ScalingLazyColumnと連動します)。一般に、ユーザーが項目リストを上方向にスクロールし始めたときはScrollAwayを使用してビューの外にTimeTextをスクロールします。CurvedText/TimeText-CurvedTextStyleにfontFamily、fontStyle、fontSynthesisのサポートを追加しました。curvedTextとbasicCurvedTextで使用できます。CurvedText/TimeText-CurvedTextStyleのコンストラクタとコピーメソッドにfontWeightを追加しました。ToggleControls-ToggleChipとSplitToggleChipで使用するアニメーション切り替えコントロールとしてCheckbox、Switch、RadioButtonを追加しました。これらは、ToggleChipDefaultsによって提供される静的アイコン(switchIcon、checkboxIcon、radioIcon)の代わりに使用できます。- プレースホルダ - 試験運用版のプレースホルダのサポートを追加しました。このサポートには、一緒に動作するように設計された 3 種類の視覚効果があります。
- 1 つ目は、チップやカードなどのコンテナで使用するプレースホルダの背景ブラシ エフェクトで、コンテンツの読み込みを待つときに、通常の背景の上に描画されるものです。
- 2 つ目は、読み込まれているコンテンツの上にスタジアムの形のプレースホルダ ウィジェットを描画する修飾子(
Modifier.placeholder())です。 - 3 つ目は、データの読み込みを待っていることをユーザーに伝えるために、他のエフェクトの上に重ねて表示される修飾子のグラデーション / シマー エフェクト(
Modifier.placeholderShimmer())です。- これらすべてのエフェクトは協調して動作し、きらめいた後に消えるように設計されています。
- Core Compose の依存関係を 1.2 から 1.3 に更新しました。
API の変更
- フォント パラメータ(
fontFamily、fontWeight、fontStyle、fontSynthesis)をcurvedTextのパラメータとして直接指定できるようになりました。(Idc422)
バグの修正
curveTextとbasicCurvedTextが TalkBack で適切に動作するようになりました(適切なサイズで配置される(ただし空の)compose-ui ノードが関連付けられ、テキストをコンテンツの説明として使用します)。(I7af7c、b/210721259)PickerState.repeatedItems = falseの場合のPickerのバグを修正し、Picker の内部ScalingLazyColumnに autoCentering パラメータの明示的な設定を追加しました。これにより、ゼロ番目のオプションをビューの中央にスクロールできるようになります。(I8a4d7)
バージョン 1.1.0-alpha07
2022 年 10 月 5 日
androidx.wear.compose:compose-foundation:1.1.0-alpha07、androidx.wear.compose:compose-material:1.1.0-alpha07、androidx.wear.compose:compose-navigation:1.1.0-alpha07 がリリースされました。バージョン 1.1.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
- 試験運用版のプレースホルダのサポートを追加しました。このサポートには、一緒に動作するように設計された 3 種類の視覚効果があります。1 つ目は、チップやカードなどのコンテナで使用するプレースホルダの背景ブラシ エフェクトで、コンテンツの読み込みを待つときに、通常の背景の上に描画されるものです。2 つ目は、読み込まれているコンテンツの上にスタジアムの形のプレースホルダ ウィジェットを描画する修飾子(
Modifier.placeholder())です。3 つ目は、データの読み込みを待っていることをユーザーに伝えるために、他のエフェクトの上に重ねて表示される修飾子のグラデーション / シマー エフェクト(Modifier.placeholderShimmer())です。これらすべてのエフェクトは協調して動作し、きらめいた後に消えるように設計されています。(I3c339)
API の変更
CurvedTextStyleにfontWeight、fontFamily、fontStyle、fontSynthesisのサポートを追加しました。curvedTextとbasicCurvedTextで使用できます。これらのパラメータを使用して、曲線テキストで使用するフォントとスタイルを指定できます。(Iaa1a8)、(I72759)Modifier.offsetとの一貫性を保つため、Modifier.scrollAwayのオフセット パラメータを Dp に更新しました(以前はピクセル単位で表示)。また、効率化のためにLayoutModifierとしてリファクタリングしました。(I9f94b)- 新しい切り替えコントロール API の一部として、
RadioButton’s circleColorの名前をringColorに変更しました。(I28fa9) ToggleChipとSplitToggleChipで使用するアニメーション切り替えコントロールとしてCheckbox、Switch、RadioButtonを追加しました。これらは、ToggleChipDefaultsによって提供される静的アイコン(switchIcon、checkboxIcon、radioIcon)の代わりに使用できます。(I8a8c4)
バージョン 1.1.0-alpha06
2022 年 9 月 21 日
androidx.wear.compose:compose-foundation:1.1.0-alpha06、androidx.wear.compose:compose-material:1.1.0-alpha06、androidx.wear.compose:compose-navigation:1.1.0-alpha06 がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
- スクロール状態に応じて、ビューの内 / 外に垂直方向に項目をスクロールする
Modifier.scrollAwayを追加しました(オーバーロードによってColumn、LazyColumn、ScalingLazyColumnと連動します)。一般に、ユーザーが項目リストを上方向にスクロールし始めたときはScrollAwayを使用してビューの外にTimeTextをスクロールします。(I61766)
バグの修正
- 必要なスペースのみを占有するよう
PositionIndicatorが配置されてサイズが設定されるようになりました。これは、セマンティック情報が追加された場合などに役立ち、TalkBack が画面上のPositionIndicatorの正しい境界を取得するようになりました。(Ie6106、b/244409133)
バージョン 1.1.0-alpha05
2022 年 9 月 7 日
androidx.wear.compose:compose-foundation:1.1.0-alpha05、androidx.wear.compose:compose-material:1.1.0-alpha05、androidx.wear.compose:compose-navigation:1.1.0-alpha05 がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
- Talkback がボタンとして認識できるように、
InlineSliderとStepperにボタンの役割が追加されました。(Icb46c、b/244260275) - Scaffold で位置とページ インジケーターの Z オーダーを修正しました。インジケーターは周辺減光の上に表示されるようになりました。そのため、周辺減光が存在する場合に、インジケーターが周辺減光によって隠れることはなくなります。(Ib988f、b/244207528)
バージョン 1.1.0-alpha04
2022 年 8 月 24 日
androidx.wear.compose:compose-foundation:1.1.0-alpha04、androidx.wear.compose:compose-material:1.1.0-alpha04、androidx.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-alpha03、androidx.wear.compose:compose-material:1.1.0-alpha03、androidx.wear.compose:compose-navigation:1.1.0-alpha03 がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
ChipsとButtonsの新しい枠線付きスタイルと、OutlinedChipとOutlinedButtonの新しいコンポーザブルを新たに追加しました。これにより、細い枠線付きの透明なChip/Buttonを利用できます。(Id5972)
API の変更
- ボタン形状を変更するためのオーバーロードを追加しました。(Icccde)
バグの修正
- UX 仕様と一致しないため、
ToggleChipの切り替えコントロール領域のサイズを修正しました。UX 仕様では、ラベルと 24x24.dp の切り替えコントロール アイコン領域との間に 4.dp のスペーサーを設ける(合計で 28.dp の幅になる)ことになっています。しかし、実装時に切り替えコントロール領域が誤って 36x24.dp になってしまい、使用可能なテキストラベルの領域が 8.dp 減っていました。注: このバグの修正によってテキストラベル用のスペースが広がるため、テキストのレイアウトに影響を及ぼす(テキストがはみ出さなくなる)可能性があります。ToggleChipsを含むスクリーンショット テストがある場合は、更新の必要があるかもしれません。(I514c8、b/240548670)
バージョン 1.1.0-alpha02
2022 年 7 月 27 日
androidx.wear.compose:compose-foundation:1.1.0-alpha02、androidx.wear.compose:compose-material:1.1.0-alpha02、androidx.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()のバグを修正しました。(I2b3c3、b/238057342)
バージョン 1.1.0-alpha01
2022 年 6 月 29 日
androidx.wear.compose:compose-foundation:1.1.0-alpha01、androidx.wear.compose:compose-material:1.1.0-alpha01、androidx.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)を追加しました。(Ibe1a4、b/235937657) - Picker の項目が常に中央揃えになり、
gradientRatioをゼロに設定すると配置が変更されるという副作用のバグを修正しました。(I712b8)
バージョン 1.0
バージョン 1.0.2
2022 年 9 月 7 日
androidx.wear.compose:compose-foundation:1.0.2、androidx.wear.compose:compose-material:1.0.2、androidx.wear.compose:compose-navigation:1.0.2 がリリースされました。バージョン 1.0.2 に含まれる commit については、こちらをご覧ください。
バグの修正
- Scaffold で位置とページ インジケーターの Z オーダーを修正しました。インジケーターは周辺減光の上に表示されるようになりました。そのため、周辺減光が存在する場合に、インジケーターが周辺減光によって隠れることはなくなります。(Ib988f、b/244207528)
バージョン 1.0.1
2022 年 8 月 24 日
androidx.wear.compose:compose-foundation:1.0.1、androidx.wear.compose:compose-material:1.0.1、androidx.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.0、androidx.wear.compose:compose-material:1.0.0、androidx.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()のバグを修正しました。(I2b3c3、b/238057342)
バージョン 1.0.0-rc02
2022 年 6 月 22 日
androidx.wear.compose:compose-foundation:1.0.0-rc02、androidx.wear.compose:compose-material:1.0.0-rc02、androidx.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)を追加しました。(Ibe1a4、b/235937657) - Wear Compose ライブラリにパッケージ化されているベースライン プロファイル ルールを更新しました。(I9c694)
バージョン 1.0.0-rc01
2022 年 6 月 15 日
androidx.wear.compose:compose-foundation:1.0.0-rc01、androidx.wear.compose:compose-material:1.0.0-rc01、androidx.wear.compose:compose-navigation:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
API の変更
- compose ライブラリのインターフェースが jdk8 デフォルト インターフェース メソッドを使ってビルドされるようになりました。(I5bcf1)
バグの修正
- リストのヘッダーでの
fillMaxWidth()の明示的な呼び出しは、ScalinglazyColumnにListHeader()コンポーネントとChip()コンポーネントが混在している場合には不要であり、問題が発生する可能性があるため、削除しました。ListHeaderのアイテムは、スクロールされて表示 / 非表示になるときに幅が拡大 / 縮小される傾向にあるためです。(I37144、b/235074035) ScalingLazyColumnのバグを修正しました。このバグは、0 番目のリストアイテムが(パディングを含めて)十分に大きい場合に、スクロールされるまでリストアイテムが正しく描画されない原因となっていました。(Ic6159、b/234328517)- UX 仕様の更新に合わせて、アイテムが画面の端に達したときの
ScalingLazyColumnのイージングを若干調整しました。以前の値CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)-> 新しい値CubicBezierEasing(0.3f, 0f, 0.7f, 1f)。以前の動作を維持するには、ScalingLazyColumnのscalingParamsをオーバーライドできます。(Ie375c) - マテリアルのユーザー補助ガイドラインに沿ってタップ ターゲットのサイズが高さ 48 dp 以上になるように、
CompactChipにパディングを追加しました。追加のスペースを取ることになるため、CompactChipsを使用するレイアウトがある場合は、この変更の影響を受ける可能性があります。(I3d57c)
バージョン 1.0.0-beta03
2022 年 6 月 1 日
androidx.wear.compose:compose-foundation:1.0.0-beta03、androidx.wear.compose:compose-material:1.0.0-beta03、androidx.wear.compose:compose-navigation:1.0.0-beta03 がリリースされました。バージョン 1.0.0-beta03 に含まれる commit については、こちらをご覧ください。
新機能
ScalingLazyColumnが Compose@Previewモードで機能するようになりました。(I3b3b6、b/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-beta02、androidx.wear.compose:compose-material:1.0.0-beta02、androidx.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()を追加します(I60a2c、b/232206371)
バグの修正
TextStyleを受け取るCurvedTextStyleコンストラクタがfontWeightも考慮するようになりました(これは、API の今後のリビジョンでコンストラクタとコピーメソッドに追加される可能性があります)(Ieebb9)- エッジスワイプの改善。
Modifier.edgeSwipeToDismissが使用されており、左へのスワイプがエッジエリアからトリガーされた場合、スワイプの向きが右に変更されたときにスワイプによる非表示がトリガーされることがなくなりました。以前は、左にスワイプしてから右にスワイプすることで、スワイプによる非表示をトリガーできました(I916ea) HorizontalPageIndicatorが画面に最大 6 ページ表示されるようになりました。合計で 6 ページを超える場合は、左または右に半分のサイズのインジケーターが表示され、ページ間の移動がスムーズになります。(I2ac29)ScalingLazyColumnとPickerのデフォルトのスナップ動作を改善しました(I49539)- エッジスワイプの改善。
Modifier.edgeSwipeToDismissが使用されている場合、スワイプによる非表示は、最初のタップが端に到達して右にスワイプしたときのみトリガーされます。以前は、スクロールが開始点に達したら画面の任意の場所からスワイプすることで、スワイプによる非表示をトリガーできました。(I8ca2a)
バージョン 1.0.0-beta01
2022 年 5 月 11 日
androidx.wear.compose:compose-foundation:1.0.0-beta01、androidx.wear.compose:compose-material:1.0.0-beta01、androidx.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 ガイドラインを初期設定の状態で実装するウェアラブルでコンポーネントをビルドする際の色、形状、タイポグラフィを指定します。 Button、CompactButton、ToggleButton- ボタンには、アイコン、画像、短いテキスト(最大 3 文字)を取得するためのスロットが 1 つ用意されています。デフォルト ボタン、大ボタン、小ボタンに推奨されるサイズの円形。CompactButtonは、コンテンツ(アイコン、画像、テキスト)を取得できる単一のスロットを備えており、背景がひときわ小さなサイズの円形です。CompactButtonには、クリック可能な領域を拡大する背景の周囲にオプションとして透明なパディングを備えています。ToggleButtonは、コンテンツ(短いテキスト、アイコン、画像)の取得を 1 つのスロットで行うボタンです。色分けとさまざまなアイコンでオン / オフ(チェックマークあり / チェックマークなし)の状態を示し、オン / オフのいずれであるかを表示します。- カード - 通知などのアプリケーションに関する情報を表示するために使用します。
AppCardとTitleCardのさまざまなユースケースで柔軟な設計を実現し、異なるレイアウトが用意されており、カードのコンテンツまたは背景として画像をサポートします。 - チップ - ボタンに類似したスタジアムの形のコンポーネントですが、エリアが広くなり、ラベル、セカンダリ ラベル、アイコン用の複数のスロットを備えています。さまざまなサイズで、背景としての画像をサポートしています。
- ToggleChip と SplitToggleChip - オン / オフの状態のチップで、コンポーネントにチェックマークが入れられた状態を表示するスイッチやラジオボタンなどのアイコンを表示する
ToggleControlスロットが追加されています。また、SplitToggleChipには 2 つ(クリック可能と切り替え可能)のタップ可能な領域があります。 - CircularProgressIndicator - 2 つのパターンの Wear マテリアル進行状況インジケーター。1 つ目は、進行中のタスクの完了割合を表し、開始角度と終了角度の間の円形トラックのギャップをサポートします。2 つ目は、不特定の待機時間における不確定な進行状況を示します。
- curvedText -
curvedRowとcurvedColumnとともにCurvedLayoutsを記述し、円形デバイスの周囲にコンポーネントをレイアウトするための DSL の一部を構成します。CurvedLayoutとCurvedModifierの詳細については、以下の Wear Component Foundation をご覧ください(これは、曲線でない世界で修飾子と同様の役割を果たし、レイアウト、パディング、グラデーションなどのさまざまな要素の構成を可能にします)。 - ダイアログ、アラート、確認 - ダイアログは、他のコンテンツの上に重ねて全画面ダイアログを表示し、スワイプして閉じることができます。アラートや確認など、Wear マテリアルの独自のダイアログ コンテンツとみなされる単一のスロットを取ります。アラートは独自のダイアログ コンテンツであり、アイコン、タイトル、メッセージ用のスロットが含まれます。横に並んだ 2 つのネガティブ ボタンとポジティブ ボタン、または 1 つ以上の垂直に積み重ねられたチップのスロットで過負荷が発生します。確認は、一定期間のメッセージを表示する独自のダイアログ コンテンツです。このファイルには、アイコンや画像(アニメーション表示が可能)用のスロットが用意されています。
- HorizontalPageIndicator - ウェアラブルのフォーム ファクタに適した方法で水平方向のページ位置を表示します。全画面表示を行い、円形のデバイスに曲線インジケーターを表示するように設計されています。Accompanist ページビューアで使用できます。
- アイコン - Wear のマテリアル テーマから色とアルファを取得するアイコンの Wear 実装。クリック可能なアイコンについては、ボタンまたはチップをご覧ください。
- 選択ツール - スクロール可能な選択候補アイテムのリストを表示します。デフォルトでは、アイテムは両方向に「無限」に繰り返されます。読み取り専用モードで表示し、未選択のオプションを非表示にできます。
- PositionIndicator - ウェアラブルのフォーム ファクタに適した方法で、スクロール位置またはその他の位置を表示します。全画面表示を行い、円形のデバイスに曲線インジケーターを表示するように設計されています。
- Scaffold - 基本的な Wear マテリアル デザインの視覚レイアウト構造を実装します。このコンポーネントには、画面を構成する複数の Wear マテリアル コンポーネント(
TimeText、PositionIndicator、Vignetteなど)をまとめる 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 -
CurvedLayoutDSL の要素であるbasicCurvedTextを使用すると、デベロッパーは円の曲率に沿って(通常は円形の画面の端)、曲線テキストを簡単に記述できます。basicCurvedTextは、配置を指定できるようにする、CurvedModifiersを使用するなど、最適な環境を確保するために、CurvedLayout内でのみ作成できます。なお、ほとんどの場合にマテリアル テーマ設定を使用する curvedText を使用する必要があります。curvedComposable - 通常のコンポーザブルのコンテンツをラップし、
CurvedLayoutで使用できるようにします。curvedComposableの内部に複数の要素がある場合、それらは互いに重なり合って描画されます(ボックスなど)。複数のコンポーザブルを曲線に沿って配置するには、各コンポーザブルをcurvedComposableでラップします。curvedRow と curvedColumn - 行と列と同様に、
curvedRowとcurvedColumnをCurvedLayout内にネストして、必要に応じて要素をレイアウトできます。curvedRowの場合は、角度レイアウトの方向と半径方向の配置を指定できます。curvedColumnの場合は、角度調整と半径方向を指定できます。CurvedModifier - すべての曲線コンポーネントで、
CurvedModifierを使用して作成可能な修飾子パラメータを使用できます。背景、サイズ、重量、パディングがサポートされています。Wear Compose Navigation の以下のコンポーネントも含まれています。
SwipeDismissableNavHost - Compose 階層内に、自己完結型ナビゲーションが行われる場所を指定し、スワイプ操作による後方ナビゲーションを可能にします。コンテンツは
SwipeToDismissBox内に表示され、現在のナビゲーション レベルを示します。「スワイプして閉じる」の操作中、前のナビゲーション レベルがあれば、そのレベルがバックグラウンドで表示されます。配信されたアルファ版について詳しくは、以前のアルファ版のリリースノートをご覧ください。
API の変更
CurvedModifier.padding*関数を追加しました。これらは、曲線コンポーネントの周囲に追加する領域を指定するために使用されます。(I4dbb4)CompositionLocal内部クラスを削除しました(I42490)Button、CompactButton、ToggleButtonの各アイコンサイズに定数値を追加しました(I57cab)AppCardとTitleCardに有効化されているパラメータを追加しました。これで、androidx.compose.materialカードに類似した API を使用できるようになりました。このパラメータを false に設定した場合、カードはクリックできません。(Idc48d、b/228869805)
バグの修正
- Stepper では、下限 / 上限に達したときの減少ボタンと増加ボタンが無効化されるようになりました(さらに、ContentAlpha.disabled が iconColor に適用されます)。(I4be9f)
- スワイプ時にテキストのジッターが表示されるを回避するために、グラデーションで描画するときの選択ツール コンテンツの周囲に 1 dp のパディングを追加しました。(I0b7b9)
PositionIndicatorのスクリーンショット テストを追加しました。(I5e8bc)AppCardとTitleCardのテストを追加しました。(I85391、b/228869805)
バージョン 1.0.0-alpha21
2022 年 4 月 20 日
androidx.wear.compose:compose-foundation:1.0.0-alpha21、androidx.wear.compose:compose-material:1.0.0-alpha21、androidx.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: BooleanをautoCenter: AutoCentringParamsに置き換えました。(Ia9c90)- 色がアイコン / toggleControl スロットに適用されるため、API 全体(Chip / ToggleChip / Dialog / Slider / Stepper / ...)で
iconTintColorとtoggleControlTintColorの名前をiconColorとtoggleControlColorに変更しました。(Ied238) PageIndicatorStyle列挙型を値クラスに書き換えました(I2dc72)- レイアウトの前提条件をデベロッパーに示せるように、コンポーザブルの一部のスロットに
RowScope/ColumnScope/BoxScopeを追加しました。これにより、デベロッパーは一部のスロット コンテンツで追加の修飾子を使用でき、追加のレイアウト要素を提供する必要がなくなります。さらに、timeColorとappColorのデフォルト値がcontentColorになるように、AppCard / TitleCard の色にマイナー アップデートを加えました。これらのプロパティは、必要に応じてすべて個別にオーバーライドできます。(I26b59) SwipeToDismissBoxState.Companionオブジェクトを非公開にしました(I39e84)InlineSliderとStepperのパラメータの順序を修正しました。API ガイドラインを遵守するための簡単な変更です(I11fec)SwipeToDismissBoxStateのセーバー オブジェクトは使用されていないため、削除しました。(Ifb54e)- 最新の UX 仕様に沿うように
CompactChipを更新しました。パディングは水平 = 12.dp、垂直 = 0.dp に縮小されました。ラベルのフォントがボタンから caption1 に変更されました。推奨されるアイコンサイズは、アイコンとラベルの両方がある場合は 20x20、アイコンのみのコンパクト チップの場合は 24x24 です。また、アイコンのみのユースケースでは、アイコンが中央揃えになるようにしました。(Iea2be) - 適用された
contentPaddingとautoCenteringPaddingの量をデベロッパーが把握できるように、ScalingLazyListLayoutInfoにいくつかの新しいフィールドを追加しました。これらは、フリング / スクロールの計算時にデベロッパーにとって便利です(I7577b) - ダイアログの入出力遷移を実装しました。
showDialogパラメータが追加され、ダイアログ自体で可視性を制御できるようになりました(これにより、ダイアログの表示 / 非表示の切り替え時に、ダイアログでイントロとエンディングのアニメーションを実行できます)。ユーザーがスワイプして閉じる操作でダイアログを終了すると、エンディング アニメーションは実行されません。また、最近追加されたSwipeToDismissBoxのオーバーロードに、状態のデフォルト値を追加しました。(I682a0) - i18n と a11y のサポートを強化するため、
ToggleChipとSplitToggleChipを変更し、toggleControlスロットのデフォルト値がなくなるようにしました。また、SwitchIcon()->switchIcon()、CheckboxIcon->checkboxIcon()、RadioIcon()->radioIcon()のメソッドが Icon ではなく ImageVector を返すようにToggleChipDefaultsを変更しました(@Composable を返さなくなったため、小文字で開始するように変更されています)。これにより、デベロッパーは適切なcontentDescriptionセットで独自のIcon()コンポーザブルを作成できます。(I5bb5b) SwipeDismissableNavHostStateパラメータをSwipeDismissableNavHostに追加しました。これにより、ナビゲーション デスティネーションとして使用される画面で、エッジスワイプを使用できます。これは、SwipeToDismissBoxStateをホイスティングして、エッジスワイプを必要とする画面でSwipeDismissableNavHostStateとModifier.edgeSwipeToDismissの両方を初期化するために使用できるようになったためです。(I819f5、b/228336555)
バグの修正
- 必要に応じて曲線レイアウトを更新するようにします。(Ie8bfa、b/229079150)
- https://issuetracker.google.com/issues/226648931 のバグの修正(Ia0a0a、b/226648931)
- 不要な試験運用版アノテーションを削除しました(I88d7e)
バージョン 1.0.0-alpha20
2022 年 4 月 6 日
androidx.wear.compose:compose-foundation:1.0.0-alpha20、androidx.wear.compose:compose-material:1.0.0-alpha20、androidx.wear.compose:compose-navigation:1.0.0-alpha20 がリリースされました。バージョン 1.0.0-alpha20 に含まれる commit については、こちらをご覧ください。
新機能
SwipeToDismissにedgeSwipeToDismiss修飾子を追加します。これにより、ビューポートの左端でのみswipeToDismissを有効にできるようになります。マップの 2D スクロールや、ページ間の水平方向のスワイプなど、画面の中央で水平方向のページングを処理する必要がある場合に使用します。(I3fcec、b/200699800)
API の変更
CurvedModifiersの基本実装。これにより、曲線コンテンツをカスタマイズする方法の導入が可能になります(ただし、CurvedModifiersはまだ提供されておらず、後でカスタム修飾子を作成する機能が利用できるようになります)(I9b8df)EdgeSwipe修飾子のドキュメントとデフォルト値が更新され、わかりやすくなりました。(I6d00d)PageIndicatorスロットを Scaffold に追加します。PageIndicatorを Scaffold に直接追加することで、円形のデバイスで正しく表示されるようにします。(Ia6042)InlineSliderおよび Stepper パラメータからデフォルトのアイコンを削除します。これにより、デベロッパーはローカライズとユーザー補助の要件にさらに注意を払うことができるようになります。デフォルトのアイコンの使用方法はデモとサンプルで示されています。(I7e6fd)- TimeText の先頭と末尾のパラメータ名を Start と End に置き換えました。(Iaac32)
onDismissedパラメータでSwipeToDismissBoxオーバーロードが追加され、スワイプ操作の完了時にナビゲーション イベントをトリガーするという一般的な使用方法がサポートされるようになりました。(I50353、b/226565726)TimeTextの使用方法からExperimentalWearMaterialApiアノテーションを削除しました(Ide520)ScalingLazyList/Columnのスコープと情報インターフェースは、外部のデベロッパーによる実装を想定していないため、シール済みとしてマークされています。これにより、バイナリに破壊的変更を加えることなく、今後新しいメンバーを追加できるようになります。(I7d99f)- 選択ツールに新しい
flingBehaviourプロパティとPickerDefaults.flingBehaviour()メソッドが追加され、RSB サポートの追加などのフリング動作の設定が可能になりました。PickerStateにScrollableStateインターフェースが実装されました。(Ib89c7)
バグの修正
- Wear Compose ライブラリの Android ランタイム(ART)のベースライン プロファイル ルールを更新します。ART では、デバイス上のプロファイル ルールを活用して、アプリの特定の部分を事前にコンパイルし、アプリケーションのパフォーマンスを改善できます。なお、これはデバッグ可能なアプリには影響しません。(Iaa8ef)
- ドキュメントを改善しました(I2c051)
バージョン 1.0.0-alpha19
2022 年 3 月 23 日
androidx.wear.compose:compose-foundation:1.0.0-alpha19、androidx.wear.compose:compose-material:1.0.0-alpha19、androidx.wear.compose:compose-navigation:1.0.0-alpha19 がリリースされました。バージョン 1.0.0-alpha19 に含まれる commit については、こちらをご覧ください。
API の変更
CurvedRowの名前をCurvedLayoutに変更し、DSL 付きのスコープになるよう再構築しました。この DSL を使用すると、より複雑な曲線レイアウトを一連のネストされたcurvedRowとcurvedColumn(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.BackgroundKeyとSwipeToDismissBoxDefaults.ContentKeyをそれぞれSwipeToDismissKeys.Background、SwipeToDismissKeys.Contentに移動しました。(I47a36)- 複数の Picker があり、一度に 1 つの Picker のみが編集可能である画面の場合に、Picker に読み取り専用モードを追加しました。Picker が読み取り専用の場合は、現在選択されているオプションと、ラベル(指定されていた場合)が表示されます。(I879de)
ExperimentalWearMaterialApiのスコープをModifier.swipeableとSwipeableStateに制限するようSwipeToDismissBoxStateをリファクタリングし、内部で使用できるようにしました。SwipeToDismissBoxStateに、一般的なユースケースをサポートするようcurrentValue、targetValue、isAnimationRunning、snapToのメンバーを追加しました。他のプロパティを利用できるようにする必要がある場合は、お知らせください。また、スワイプ オフセットがアンカーの丸め誤差内にある場合の、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-alpha18、androidx.wear.compose:compose-material:1.0.0-alpha18、androidx.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 を追加しました。これは、浮動小数点数の精度の点で、スケーリングしたサイズとスケーリング ファクタで元のアイテムサイズを計算するのが安全ではないためです。(I54657、b/221079441)HorizontalPageIndicatorを追加しました。これは、ページの総数と選択されているページを表します。デバイスの形状に応じて直線または曲線にできます。また、インジケーターの形状をカスタマイズして、各インジケーターの視覚的な表示方法を定義できます。(Iac898)PickerStateを更新し、numberOfOptions を更新できるようにしました。これにより、選択した月によって月の日数が変わるDatePickerなどのユースケースに対応できます。これに伴い、PickerState のコンストラクタ パラメータが initialNumberOfOptions に変更されました。(Iad066)PositionIndicatorがスクロールバーである場合に、スクロールできないときは非表示になるようにしました。(Id0a7f)- Scaffold との整合性を保つため、全画面の Dialog コンポーネントに
PositionIndicatorとVignetteが表示されるようにしました。また、Columnに代わってScalingLazyColumnを使用することになったため、Dialog コンテンツはScalingLazyListScopeに含めることとなりました(通常、アイテム { /* content */ } で囲む必要があります)。これに伴い、Dialog で verticalArrangement パラメータがサポートされました。(Idea13) - マテリアル デザインに合わせて
ToggleChipとSplitToggleChipの toggleIcon プロパティの名前を toggleControl に変更し、API をナビゲーションしやすくしました。(If5921、b/220129803) - Wear のマテリアル テーマ Typology.Caption3 に、新しいエントリ caption3 を追加しました。caption3 は、法的文書のような非常に長い文章に使用する小さなフォントです。(I74b13、b/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-alpha17、androidx.wear.compose:compose-material:1.0.0-alpha17、androidx.wear.compose:compose-navigation:1.0.0-alpha17 がリリースされました。バージョン 1.0.0-alpha17 に含まれる commit については、こちらをご覧ください。
新機能
ScalingLazyColumnで使用できるスナップのサポートを追加しました。flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)を設定すると、スナップのサポートが有効になります。(I068d3、b/217377069)- 時刻の形式(24 時間形式または 12 時間形式)を選択する際に使用される選択ツールのデモを追加しました。(Ie5552)
API の変更
- 正方形のデバイスでの
TimeTextのカスタム フォントとスタイルに関する問題を修正しました(Iea76e) ScalingLazyListLayoutInfoに、LazyListLayoutInfoの各プロパティと一致するreverseLayout、viewportSize、orientation プロパティが追加されました(I4f258、b/217917020)ScalingLazyColumnに、LazyListのプロパティと一致するuserScrollEnabledプロパティが追加されました(I164d0、b/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-alpha16、androidx.wear.compose:compose-material:1.0.0-alpha16、androidx.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)がその前に配置されます。これにより、ほとんどのビューポートがリスト項目で埋まるため、すぐに使えるデフォルトの視覚効果が向上します。(I0c623、b/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-alpha15、androidx.wear.compose:compose-material:1.0.0-alpha15、androidx.wear.compose:compose-navigation:1.0.0-alpha15 がリリースされました。バージョン 1.0.0-alpha15 に含まれる commit については、こちらをご覧ください。
API の変更
ScalingLazyColumnに新しいプロパティautoCenteringを追加しました。このプロパティが true(デフォルト)の場合、すべての項目(最初と最後の項目を含む)をスクロールして、リストのビューポートの中央に表示できます。なお、自動中央揃えを使用する場合は、垂直方向のコンテンツ パディングを 0.dp に設定することをおすすめします。autoCentering と垂直方向のコンテンツ パディングの両方が指定された場合、両方によって最初のリスト項目の前と最後のリスト項目の後で追加のスペースが利用可能になり、スクロール可能なスペースが増えます。(I2a282、b/214922490)- 他のコンテンツを覆う全画面ダイアログを任意のコンポーザブルがトリガーできるようにする
Dialogコンポーネントを追加しました。このダイアログは、表示されると「スワイプして閉じる」機能をサポートし、スワイプ操作中にその親のコンテンツをバックグラウンドで表示します。ダイアログのコンテンツはAlertまたはConfirmation(以前のコンポーネントAlertDialogおよびConfirmationDialogから名前が変更されました)であると想定されます。Alert、Confirmation、Dialogはすべてandroidx.wear.compose.material.dialogパッケージ内にあります。Alert と Confirmation はナビゲーション デスティネーションとして使用できます。また、必要に応じて Alert および Confirmation パラメータに ColumnScope を追加しました。(Ia9014) - Compose for Wear OS のマテリアル テーマ カラーから
onSurfaceVariant2を削除し、ライブラリでの使用をonSurfaceVariantに置き換えました。(Icd592) PickerStateでオプションをプログラムで選択するメソッドを追加し、最初に選択したオプションをPickerStateの作成時にも指定できるようにしました。(I92bdf)ScalingLazyColumnのフリング動作をカスタマイズするためのサポートを追加しました。(I1ad2e、b/208842968)Wear.Compose.NavigationライブラリにNavController.currentBackStackEntryAsState()を追加しました。(If9028、b/212739653)- 回転するサイドボタンを備えた Wear デバイス用に
Modifier.onRotaryScrollEvent()とModifier.onPreRotaryScrollEvent()を追加しました。(I18bf5、b/210748686)
バージョン 1.0.0-alpha14
2022 年 1 月 12 日
androidx.wear.compose:compose-foundation:1.0.0-alpha14、androidx.wear.compose:compose-material:1.0.0-alpha14、androidx.wear.compose:compose-navigation:1.0.0-alpha14 がリリースされました。バージョン 1.0.0-alpha14 に含まれる commit については、こちらをご覧ください。
新機能
デベロッパーが特定のリスト項目へのスクロールを制御し、またリスト項目やオフセットの初期設定を行える、複数のメソッドを
ScalingLazyListStateに追加しました。この変更の一環として、ScalingLazyList が、ビューポートの開始点ではなく中心方向を向くように変更されています。
中心(
ScalingLazyListAnchorType.ItemCenter)またはEdge(ScalingLazyListAnchorType.ItemStart)をビューポートの中心線に揃えるかどうかを制御する、新しいプロパティanchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenterがScalingLazyListに追加されました。その結果
ScalingLazyListItemInfo.offsetとScalingLazyListItemInfo.adjustedOffsetが変更され、リスト項目の位置とリストのanchorTypeの両方に関する項目のオフセットが反映されるようになりました。たとえば、ScalingLazyColumnのanchorTypeがItemCenterで、リスト項目の中心がビューポートの中心線にある場合、オフセットは0になります。新しいメソッドは
scrollTo、animatedScrollTo、centerItemIndex、centerItemOffsetです。 (I61b61)[戻る] ボタンを押すとナビゲーション階層の前のレベルに移動できるように、[戻る] ボタンハンドラを
SwipeDismissableNavHostに追加しました。(I5b086、b/210205624)
バージョン 1.0.0-alpha13
2021 年 12 月 15 日
androidx.wear.compose:compose-foundation:1.0.0-alpha13、androidx.wear.compose:compose-material:1.0.0-alpha13、androidx.wear.compose:compose-navigation:1.0.0-alpha13 がリリースされました。バージョン 1.0.0-alpha13 に含まれる commit については、こちらをご覧ください。
API の変更
RangeIconsを内部化しました(InlineSliderとStepperによって内部で参照されます)。(I927ec)
バグの修正
SwipeDismissableNavHostがCREATEDライフサイクル状態になる前に Compose 階層にデスティネーションを追加するとIllegalStateExceptionが発生する問題を修正しました。この修正は、navigation-composeの依存関係を2.4.0-beta02以降にアップデートするための前提条件でした。(I40a2b、b/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-alpha12、androidx.wear.compose:compose-material:1.0.0-alpha12、androidx.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-alpha11、androidx.wear.compose:compose-material:1.0.0-alpha11、androidx.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-alpha10、androidx.wear.compose:compose-material:1.0.0-alpha10、androidx.wear.compose:compose-navigation:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。
新機能
wear compose の InlineSlider を追加しました。InlineSlider を使用すると、ユーザーは値の範囲から選択できます。選択範囲は、範囲の最小値と最大値の間にバーとして表示され、ユーザーはそこから値を 1 つ選択できます。(If0148)
WearOS Codelab の新しい Compose をご確認ください。
API の変更
- Macrobenchmark の
minSdkVersionが23になりました。(If2655)
バグの修正
- SideEffect の SwipeDismissableNavHost での遷移処理を更新しました。(I04994、b/202863359)
- SwipeDismissableNavHost での遷移処理を更新しました。(I1cbe0、b/202863359)
バージョン 1.0.0-alpha09
2021 年 10 月 27 日
androidx.wear.compose:compose-foundation:1.0.0-alpha09、androidx.wear.compose:compose-material:1.0.0-alpha09、androidx.wear.compose:compose-navigation:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。
新機能
- Wear OS で Compose のデベロッパー プレビューをリリースしました。詳しくは、メイン コンポーザブルと、それらの使用を開始するための参考資料へのリンクを確認できるブログ投稿をご覧ください。
API の変更
- Wear のマテリアル デザイン カラーテーマですべての色をカスタマイズできるデベロッパー向けのサポートを追加しました。(I4759b、b/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-alpha08、androidx.wear.compose:compose-material:1.0.0-alpha08、androidx.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-alpha07、androidx.wear.compose:compose-material:1.0.0-alpha07、androidx.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-alpha06、androidx.wear.compose:compose-material:1.0.0-alpha06、androidx.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)
performGestureとGestureScopeが非推奨になりました。それぞれperformTouchInputとTouchInjectionScopeに置き換えられました。(Ia5f3f、b/190493367)- VignetteValue の名前を VignettePosition に変更し、VignetteValue.Both の名前を VignettePosition.TopAndBottom に変更しました。(I57ad7)
- 今後 ScalingLazyRow implementation を追加することになった場合に備えて、ScalingLazyColumnState の名前を ScalingLazyListState に、ScalingLazyColumnItemInfo を ScalingLazyListItemInfo に、ScalingLazyColumnLayoutInfo を ScalingLazyListLayoutInfo に、ScalingLazyColumnScope を ScalingLazyListScope に変更しました。(I22734)
バグの修正
- アイコンもラベルも指定されていない場合の影響について説明するように、CompactChip のドキュメントを更新しました。(I4ba88)
- Wear カード コンポーネントに以下の調整を行いました。(I6b3d0)
- タイトルと本文の間の TitleCard の間隔を 8.dp から 2.dp に減らしました。
- TitleCard ヘッダーのフォントを body から title3 に変更しました。
- カードの背景のグラデーションを、背景が暗くなるように変更しました。
バージョン 1.0.0-alpha05
2021 年 9 月 1 日
androidx.wear.compose:compose-foundation:1.0.0-alpha05 と androidx.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-alpha04 と androidx.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)
SwipeToDismissBoxAPI の一部であるSwipeDismissTarget列挙型に@ExperimentalWearMaterialApiを追加しました。(I48b5e)
バグの修正
- SwipeToDismissBox のテスト資料を追加しました(I9febc)
バージョン 1.0.0-alpha03
2021 年 8 月 4 日
androidx.wear.compose:compose-foundation:1.0.0-alpha03 と androidx.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-alpha02 と androidx.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-alpha01 と androidx.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 にお知らせください。