Wear Compose
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2024 年 11 月 13 日 | 1.4.0 | - | - | 1.5.0-alpha06 |
依存関係の宣言
Wear への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.0") // 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.4.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
Wear Compose Material3 バージョン 1.0
バージョン 1.0.0-alpha29
2024 年 11 月 13 日
androidx.wear.compose:compose-material3:1.0.0-alpha29
がリリースされました。バージョン 1.0.0-alpha29 に含まれる commit は次のとおりです。
API の変更
TimeText
が更新され、時刻を表示するデフォルト コンテンツが提供されるようになりました。(Id23b3)orientation
パラメータは不要になったため、PagerState
のScrollInfoProvider
を簡素化しました。新しい動作では、TimeText
は水平方向と垂直方向の両方のページングで同じ位置に留まります。(I71767)LocalHapticFeedback
で、Vibrator API がハプティクスがサポートされていることを示す場合に、デフォルトのHapticFeedback
実装が提供されるようになりました。HapticFeedbackType
にConfirm
、ContextClick
、GestureEnd
、GestureThresholdActivate
、Reject
、SegmentFrequentTick
、SegmentTick
、ToggleOn
、ToggleOff
、VirtualKey
が追加されました。Wear Compose の長押し可能なコンポーネント(Button
、IconButton
、TextButton
、Card
など)で、長押しハンドラが指定されている場合にLONG_PRESS
ハプティクスが実行されるようになりました。(I5083d)
バグの修正
- 確認のモーションを更新しました。(I04bff)
- Compose ライブラリの最小 API 依存関係を 1.7.4 に更新しました。(I88b46)
OpenOnPhone
ダイアログに新しいモーション追加。(I1e10a)LevelIndicator
のバグを修正し、レベルがゼロの場合に正しく表示されるようになりました。(Ie95a4)HorizontalPageIndicator
アニメーションとVerticalPageIndicator
アニメーションを更新しました。(I5c8f3)- 未確定の
ArcProgressIndicator
に、ドットになるまで縮小するアニメーションを追加しました。(I9fd51)
バージョン 1.0.0-alpha28
2024 年 10 月 30 日
androidx.wear.compose:compose-material3:1.0.0-alpha28
がリリースされました。バージョン 1.0.0-alpha28 に含まれる commit はこちらをご覧ください。
API の変更
- 不確定形式の円形の進行状況インジケーター(I2efc1)に円弧のバリエーションを追加しました
AlertDialog
API を構成するAlertDialogContent
とDialog
の Compose を公開しました。これにより、必要に応じてカスタマイズを追加できます(推奨コンテンツ レイアウトを維持しながらAlertDialog
アニメーションをカスタマイズするなど)。また、AlertDialogDefaults
のEdgeButton
、ConfirmButton
、DismissButton
メンバーにModifier
パラメータとColor
パラメータを追加しました。(I4eb71)Placeholder
API を次のように更新しました。PlaceholderState.startPlaceholderAnimation
の名前をPlaceholderState.animatePlaceholder
に、PlaceholderState.isShowContent
の名前をPlaceholderState.isHidden
に、PlaceholderDefaults.shape
の名前をPlaceholderDefaults.Shape
に変更しました。painterWithPlaceholderOverlayBackgroundBrush
のpainter
パラメータの名前をoriginalPainter
に変更しました。PlaceholderState.placeholderProgression
の公開設定を公開から内部に変更し、名前をplaceholderShimmerProgression
に変更しました。プレースホルダ アニメーションの長さの定数をPlaceholderDefaults
に追加しました。(Ie5a59)EdgeButton
API を次のように更新しました。ScreenScaffold
のパラメータの名前をbottomButton
からedgeButton
に変更し、EdgeButtonSize
を値クラスにしました。(Ieef15)- Wear material3 Colors クラスで
copy()
の公開設定を public に変更しました(I0287f)
バグの修正
- クリック時の
IconToggleButton
とTextToggleButton
の最小アニメーション時間を追加しました。(Ieb333) IconButton
とTextButton
のシェイプ アニメーションの最小時間を追加しました(Iebcee)DatePicker
の繰り返しオプションの状態を修正しました。(I3587c)- アラート ダイアログと確認ダイアログのモーションが追加されました。(I173b1)
バージョン 1.0.0-alpha27
2024 年 10 月 16 日
androidx.wear.compose:compose-material3:1.0.0-alpha27
がリリースされました。バージョン 1.0.0-alpha27 に含まれる commit はこちらをご覧ください。
API の変更
- Wear Compose Foundation
LazyColumn
の名前をTransformingLazyColumn
に変更したため、ScreenScaffold
とScrollIndicator
を更新しました。(I0608b) EdgeButton
のpreferredHeight
パラメータの名前がbuttonSize
に変更されました。その値は、新しく導入されたEdgeButtonSize
値クラスの 4 つの定数からのみ選択できます。(Icdd70)ListSubheader
の命名をListSubHeader
に変更し、ListHeader
とListSubHeader
に公開アクセス可能なデフォルト値を追加しました。(I96730)- Wear 向けに新しい
HorizontalPagerScaffold
コンポーネントとVerticalPagerScaffold
コンポーネントを追加しました。これにより、新しいアニメーションと、時刻テキストとページインジケーター コンポーネント間の調整が可能になります。(Iff7d0) HorizontalPagerScaffold
とVerticalPagerScaffold
にロータリーのサポートを追加しました。これにより、ユーザーはロータリー入力デバイスを使用してページャーを操作できるようになりました。(I9770d)MotionScheme
API の変更により、使用を簡素化し、一貫性を改善しました。インライン化された remember 関数を削除し、組み込みの Motion Schemes を専用の MotionScheme コンパニオン オブジェクトに移動しました。standardMotionScheme
とexpressiveMotionScheme
の名前を標準と表現力に変更しました。(I5fd45)- システムカラーに基づく動的カラーパターンのサポートを追加しました。(I073e9)
- 最新の UX 仕様に沿って Stepper を更新しました。(I622bb)
バグの修正
- カード コンポーネントのタイポグラフィとパディングが更新されました。(I3ae48)
- UX 仕様(Ie55f0)に従い、
AlertDialog
の [確認] ボタンと [閉じる] ボタンと残りのコンテンツの間のパディングを 8 dp から 12 dp に変更しました。 - スライダー コンポーネントの色の不透明度を更新しました。(Idb383)
バージョン 1.0.0-alpha26
2024 年 10 月 2 日
androidx.wear.compose:compose-material3:1.0.0-alpha26
がリリースされました。バージョン 1.0.0-alpha26 に含まれる commit は次のとおりです。
API の変更
HorizontalPageIndicator
の API と外観を更新し、VerticalPager
で使用するためのVerticalPageIndicator
を追加しました。(Ic9309)AlertDialog
で、EdgeButton が不要なカスタム レイアウトの場合に、ボタンスタック バリエーションからデフォルトの下部ボタンを省略できるようになりました。(I34fa9)- Wear マテリアル 3 の
SwipeToReveal
コンポーネントを追加しました。(Ic38b2) SwipeToReveal
で双方向スワイプのサポートを追加しました。現在の画面でスワイプして閉じることができないまれなケースに対応します。デフォルトでは、引き続き右から左へのスワイプのみでスワイプして表示する動作になります。スワイプして閉じる操作との競合を避けるため、デフォルトの動作を尊重することを強くおすすめします。(Ifac04)EdgeButton
のbuttonHeight
パラメータの名前をpreferredHeight
に変更しました。(I4fab3)- Kotlin のバージョンが 1.9(I1a14c)に更新されました
Icon
との競合を回避するため、OpenOnPhoneDialogDefaults.Icon
の名前をOpenOnPhoneDialogDefaults.OpenOnPhoneIcon
に変更しました。(I0f391)LazyColumn
でScrollIndicator
のサポートを追加しました。(Ia546a)TextToggleButton
とIconToggleButton
のデフォルト値が更新されました。(I7aaa9)Picker
API とPickerGroup
API を簡素化しました。(Id0653)CardDefaults.Shape
とCardDefaults.Height
を追加しました。トークンであるため、ライブラリを使用するデベロッパー以外には非公開でした。(I1594a、b/347649765)- バイナリ セグメント化された円形の進行状況インジケーターの進行状況パラメータの名前を
segmentValue
に変更しました。(Ib72d9) - スライダーの色とレイアウトを更新しました。(Ic3eec)
バグの修正
openOnPhone
アイコンのアニメーションを更新しました。(I66f85)Slider
、TimePicker
、DatePicker
で Google シンボル アイコンが使用されるようになりました。(I46c7c)Confirmation
とOpenOnPhoneDialog
のパディングを更新しました。(Iaa82e)
バージョン 1.0.0-alpha25
2024 年 9 月 18 日
androidx.wear.compose:compose-material3:1.0.0-alpha25
がリリースされました。バージョン 1.0.0-alpha25 に含まれる commit はこちらをご覧ください。
API の変更
- 不確定形式の円形の進行状況インジケーターを追加しました。(I427a7)
CircularProgressIndicator
とSegmentedCircularProgressIndicator
の両方で、進行状況のオーバーフロー(進行状況が 100% を超える)のサポートを追加しました。進行状況が 1.0 を超えると、新しいoverflowTrack
の色で示されます。(Iaaa3d)- 丸い
IconToggleButton
とTextToggleButton
で、新しい形状アニメーションのバリエーションをサポートするようになりました。このアニメーションでは、チェック状態、未チェック状態、押下状態を異なる形状で表します。押下直後の状態の以前のアニメーション化されたシェイプのバリエーションは引き続きサポートされます。(I29f03) ScreenScaffold
でEdgeButton
の高さを明示的に指定する必要があるため、Column
でEdgeButton
を使用するサポートを削除しました。(Ie353d)ScreenScaffold
で Wear ComposeLazyColumn
のサポートを追加しました(LazyColumnState
のScrollInfoProvider
の実装も追加しました)。(Ib8d29)LocalTextMaxLines
、LocalTextAlign
、LocalTextOverflow
を 1 つのローカルLocalTextConfiguration
コンポジションに統合し、今後よりスケーラブルなソリューションを提供できるようにしました。(I5edbc)- 追加のタイプスケールとして arc-large を追加しました。これは、確認オーバーレイなど、画面の一番上または一番下の短いヘッダー テキスト文字列用に予約されています。(I60e3e)
- 推奨される大サイズと特大サイズのアイコンサイズとコンテンツの余白について、Button にデフォルトを追加しました。(I84675)
バグの修正
IconButton
とTextButton
の色を更新しました。(I48324)- 他のオーバーロードとの整合性を保つため、ベースの Button のオーバーロードを垂直方向に中央揃えに変更しました。以前の動作に戻すには、
RowScope
のModifier.align
を使用します。(I66e57)
バージョン 1.0.0-alpha24
2024 年 9 月 4 日
androidx.wear.compose:compose-material3:1.0.0-alpha24
がリリースされました。バージョン 1.0.0-alpha24 に含まれる commit はこちらをご覧ください。
API の変更
- Material3 テーマにモーション スキームを追加しました。これは、ライブラリ全体のコンポーネントで使用され、表現力豊かなモーション用のスプリングなどのアニメーション仕様を適用します。(I54ff3)
- Material3 ライブラリに
AppScaffold
コンポーネントとScreenScaffold
コンポーネントが追加されました。これには、TimeText
とScrollIndicator
のレイヤリングと遷移を調整する機能が含まれています。AppScaffold
は、すべての画面の上に配置される最上位のスキャフォールド コンポーネントを提供します。そのため、AppScaffold
にTimeText
を追加すると、画面をスワイプしてもその位置を維持できます。画面自体で時刻のテキストをオーバーライドまたは非表示にできます。ScreenScaffold
はScrollIndicator
のスロットを提供します。スクロール時にスクロール インジケーターを自動的にアニメーション化します。また、無操作状態が続くとスクロール インジケーターを非表示にするタイムアウトも設定できます。(I047d6) - 新しいマテリアル 3 デザインの
ScrollIndicator
を追加しました。リストに遅延読み込みコンテンツが読み込まれたときにサイズが変化しないように、サムネイルのサイズは初期リストの内容に基づいて固定されています。(Ic228d) ScreenStage
を列挙型クラスではなく値クラスに変更し、今後必要に応じてステージを追加できるようにScrollAway
API を変更しました。(I48c93)EdgeButton
を追加しました。これは、画面下部の湾曲に沿った形状の Wear 固有のボタンです(I16369)ScreenScaffold
に、スクロール コンテンツに応じて表示とサイズ変更が行われる、下部ボタン(EdgeButton
など)の新しいスロットを追加しました(I032eb)Modifier.scrollTransform
とModifier.targetMorphingHeight
を追加して、LazyColumn
のアイテムに Material3 モーション効果を追加しました。(Ie229a)CircularProgressIndicator
のバリエーションとしてSegmentedCircularProgressIndicator
を追加しました。セグメント化されたバリエーションでは、すべてのセグメントにわたって単一の進行状況値が表示されるか、各セグメントがオンまたはオフとして表示されます。(I6e059)- 既存の
CircularProgressIndicator
の代替としてLinearProgressIndicator
を追加しました。(I89182) AlertDialog
を追加し、ユーザーに重要なプロンプトを表示するためのレイアウトを提供しました。バリエーションには、確認/閉じるボタンのペア、またはオプションのスタックの下にある単一の下部ボタン(通常は EdgeButton)が含まれます。どちらのバリエーションにも、アイコン、タイトル、詳細情報を提供する追加テキストの各スロットがあります。(Ieb873)OpenOnPhoneDialog
が追加されました。これは、ユーザーのスマートフォンで続行されるアクションを示すために使用します。OpenOnPhoneDialog
は、指定したタイムアウト後に閉じられます。(I978fd)- アイコンと曲線または線形のテキスト用のスロットを持つダイアログ コンポーネントである
Confirmation
を追加しました。成功/失敗メッセージには、特定のバリエーションが用意されています。確認メッセージはタイムアウト後に自動的に閉じられます。(Ib43e8) TimeText
に背景を追加し、基盤となるコンテンツとTimeText
が重なって時間が見えづらくなる問題を軽減しました。(Ia11fd)LevelIndicator
を追加しました。これは、音量などの設定の値を表示し、既存のStepper
コンポーネントと組み合わせて音量画面を作成できます。LevelIndicator
はScrollIndicator
に似ていますが、画面の反対側に表示され、ストロークの太さが広く、デフォルトでインジケーターの色が異なります。(I8a4ac)TimePicker
を追加しました。24 時間表記(秒ありまたは秒なし)または 12 時間表記(AM/PM 選択可)のレイアウトがあります。(Ia5124)DatePicker
を追加しました。列の順序(日-月-年、月-日-年、年-月-日)と最小日付と最大日付(省略可)を構成できます。(Ibf13b)TimeText
のtext
関数に重みパラメータを追加しました。TimeText が複数のテキスト要素で構成されている場合は、スペースの分散方法を制御できます。(I36700)RadioButton
とSplitRadioButton
が追加されました。これらのコンポーネントは、(分割)SelectableButton
と子ラジオ コントロール(If7ae8)の両方を組み合わせることで、以前の API を簡素化します。CheckboxButton
とSplitCheckboxButton
が追加されました。これらのコンポーネントは、(分割)ToggleButton
と子チェックボックス コントロール(Ia8f70)の両方を組み合わせることで、以前の API を簡素化します。SwitchButton
とSplitSwitchButton
を追加しました。これらのコンポーネントは、(Split)ToggleButton
と子スイッチ コントロールの両方を組み合わせることで、以前の API を簡素化します(I0d349)AnimatedText
のドキュメントを更新し、オーバーシューティングの動作について説明しました。(Iff30a)ButtonGroup
を追加して、2 つまたは 3 つのボタンを組み合わせ、ボタンを押すと連動したアニメーションが表示されるようにしました。(Ie27db)IconButton
とTextButton
の押下時にオプションのシェイプ アニメーションを追加しました。(Iffca5)Button
、IconButton
、TextButton
、CompactButton
、EdgeButton
に色のバリエーションFilledVariant
を追加しました。(I65fc3)forcedSize
パラメータをImageWithScrimPainter
に追加しました。これにより、ボタン画像の背景はデフォルトでコンポーネントのサイズを維持するようになりました。forcedSize = null
を設定すると、代わりにPainter.instrinsicSize
が採用されます。(Ic57af)- ボタンに長押しを追加しました(Ib613d)
- また、
IconButton
とTextButton
に長押しのサポートも追加されました。(I38891) - カードに長押しに対応しました。(I305d5)
LocalTextMaxLines
、LocalTextAlign
、LocalTextOverflow
をCompositionLocals
として追加し、Text
のパラメータのデフォルトとして使用しました。コンポジション ローカルをCheckboxButton
、SwitchButton
、RadioButton
などのコンポーネントで使用して UX ガイダンスを実装できるようになりました。ただし、必要に応じてデベロッパーがパラメータをオーバーライドできます。(Iab841)- データが読み込まれるまで、ボタンやカードなどのコンポーネントのコンテンツをマスクするのに役立つ
Placeholder
が追加されました。(I1a532) - 削除された
ToggleButtonColors
に代わるIconToggleButtonColors
とTextToggleButtonColors
を追加しました。(Ie0bf1)
バグの修正
Button
、FilledTonalButton
、OutlinedButton
、ChildButton
、CompactButton
を更新し、新しいCompositionLocals
LocalTextMaxLines
、LocalTextAlign
、LocalTextOverflow
を使用して UX ガイダンスを実装できるようにしました。これらのパラメータは、必要に応じてデベロッパーが Text で直接オーバーライドできます(Ie51f7)LevelIndicator
のデフォルトのストローク幅を6dp
に変更しました。これは、ストローク幅が4dp
のScrollIndicator
と区別するためです。(If6f63)TimeText
の問題を修正し、より大きなスイープ角度をサポートできるようにしました。(Ie489f)EdgeButton
の再コンポジション中に発生する問題を修正しました。(I4cdca)- カスタマイズされたコンテンツの余白が指定されている場合に、分割切り替えボタンのレイアウトを修正しました。(Ia33d3)
- 小さな進行状況値は、進行状況インジケーターの線幅以上に切り上げます。(I3bd84)
バージョン 1.0.0-alpha23
2024 年 5 月 14 日
androidx.wear.compose:compose-material3:1.0.0-alpha23
がリリースされました。バージョン 1.0.0-alpha23 には、これらの commit が含まれています。
API の変更
- 無効な色を構成できるように
ToggleButton
API とRadioButton
API を更新しました。(If13a7) - Material3 に新しい
CircularProgressIndicator
を追加しました。(Ib3bd7)
バグの修正
- 選択可能なボタンが、すでに選択されているときにダブルタップして切り替える音声を読み上げるバグを修正しました。(I7ed88)
バージョン 1.0.0-alpha22
2024 年 5 月 1 日
androidx.wear.compose:compose-material3:1.0.0-alpha22
がリリースされました。バージョン 1.0.0-alpha22 に含まれる commit は次のとおりです。
API の変更
- Material3 の
ColorScheme
を更新しました。(I7b2b8) - Material3 Switch を更新しました。色を変更し、チェックボックスで使用されているものと一致するチェックマークを追加しました。(Icac7b)
バグの修正
- 新しい
rotaryScrollable
修飾子を使用するように、すべての統合デモを更新しました。(I25090)
バージョン 1.0.0-alpha21
2024 年 4 月 17 日
androidx.wear.compose:compose-material3:1.0.0-alpha21
がリリースされました。バージョン 1.0.0-alpha21 に含まれる commit はこちらをご覧ください。
- このリリースは、ソース JAR が欠落する原因となった、以前のリリースの技術的な問題が原因でトリガーされました。このリリースには新しい commit はありません。
バージョン 1.0.0-alpha20
2024 年 4 月 3 日
androidx.wear.compose:compose-material3:1.0.0-alpha20
がリリースされました。バージョン 1.0.0-alpha20 に含まれる commit はこちらをご覧ください。
バグの修正
- 押下状態とフォーカス状態のリップル アルファを調整し、コントラストを改善しました。(I59f0a)
- タイポグラフィ スタイルと行の高さに最近行われた変更に伴い、
Button
、ToggleButton
、RadioButton
のプライマリ ラベルとセカンダリ ラベルの間にスペースを追加しました。(I2c0ba)
バージョン 1.0.0-alpha19
2024 年 3 月 6 日
androidx.wear.compose:compose-material3:1.0.0-alpha19
がリリースされました。バージョン 1.0.0-alpha19 に含まれる commit はこちらをご覧ください。
API の変更
- Wear Compose Material3 ライブラリに
TimeText
を追加しました。このコンポーネントは、画面上部に現在時刻(および追加のステータス)を表示します。新しい簡潔な Material3 API により、リニア コンテンツとカーブ コンテンツの重複を回避できます。(I4d7c3) RadioButton
のパラメータ名をonSelected
からonSelect
に更新しました。(I1a971)RadioButton
とSplitRadioButton
をトークン化し、既存のメソッドをリファクタリングして、色のキャッシュに保存されたインスタンスを追加し、RadioButtonColors
とSplitRadioButtonColors
のメソッドを内部にすることで、CompositionLocal
の検索回数を減らしました。(I02b33)
バージョン 1.0.0-alpha18
2024 年 2 月 21 日
androidx.wear.compose:compose-material3:1.0.0-alpha18
がリリースされました。バージョン 1.0.0-alpha18 に含まれる commit については、こちらをご覧ください。
API の変更
CardColors
、ToggleButtonColors
、SplitToggleButtonColors
のデフォルト パターンをリファクタリングし、内部でキャッシュに保存されたインスタンスを作成してCompositionLocal
の使用を削減しました。(If3fec)
バージョン 1.0.0-alpha17
2024 年 2 月 7 日
androidx.wear.compose:compose-material3:1.0.0-alpha17
がリリースされました。バージョン 1.0.0-alpha17 に含まれる commit については、こちらをご覧ください。
API の変更
- デフォルトで
buttonColors
を使用するように Button API を更新し、重複するfilledButtonColors
を削除しました。(I4fe3b) ButtonColors
、IconButtonColors
、TextButtonColors
のデフォルト パターンをリファクタリングし、内部でキャッシュに保存されたインスタンスを作成してCompositionLocal
の使用を削減しました。(I5f51c)- コンポーネント固有のカラークラスの
rememberUpdatedState
のオーバーヘッドを削除し、カラークラス内のアクセサラ メソッドを内部としてマークしました。(If6571)
バグの修正
Modifier.node
を使用するようにModifier.minimumInteractiveComponentSize
を更新しました。(Iba6b7)
バージョン 1.0.0-alpha16
2024 年 1 月 24 日
androidx.wear.compose:compose-material3:1.0.0-alpha16
がリリースされました。バージョン 1.0.0-alpha16 に含まれる commit については、こちらをご覧ください。
新機能
CompactButton
が追加されました。これは、Button と同じ塗りつぶし、塗りつぶしトーン、枠線の色を使用できます。(I05df0)
API の変更
- ラジオ コントロールなどの選択コントロールのコンテナとして
RadioButton
/SplitRadioButton
を追加しました。これは、RadioButton
は選択可能(選択グループ内で動作)であるのに対し、ToggleButton
は切り替え可能(独立)であるという点で、既存のToggleButton
とは異なります。(I61275) - Compose マテリアル 3 ライブラリとの整合性を確保するため、Wear Compose マテリアル 3 ライブラリから
LocalContentAlpha
を削除します。(I49a0a) - API で
MutableInteractionSource
を公開する Wear material コンポーネントと Wear material3 コンポーネントが更新され、デフォルトで null になる null 許容型のMutableInteractionSource
を公開するようになりました。意味的な変更はありません。null を渡すことは、MutableInteractionSource
をホイスティングしないことを意味し、必要に応じてコンポーネント内に作成されます。null に変更すると、一部のコンポーネントではMutableInteractionSource
が割り当てられなくなり、他のコンポーネントでは必要な場合にのみインスタンスを遅延作成できるため、これらのコンポーネント全体のパフォーマンスが向上します。これらのコンポーネントに渡すMutableInteractionSource
を使用していない場合は、代わりに null を渡すことをおすすめします。独自のコンポーネントでも同様の変更を行うことをおすすめします。(Ib90fc、b/298048146) - 非推奨の
rememberRipple
に代わる新しいリップル API をwear:compose-material
ライブラリとwear:compose-material3
ライブラリに追加しました。また、一時的なCompositionLocal
とLocalUseFallbackRippleImplementation
を追加して、非推奨のrememberRipple/RippleTheme
API を使用するようにマテリアル コンポーネントを元に戻します。これは次の安定版リリースで削除される予定です。これは、カスタムRippleTheme
を提供するケースの一時的な移行支援のみを目的としています。移行に関する情報や、この変更の背景について詳しくは、developer.android.com をご覧ください。(af92b21) HorizontalPageIndicator
API とそのドキュメントを若干改善しました。(I60efc)ColorScheme
を変更不可に更新しました。これにより、個々の色の更新は効率が低下しますが、色の一般的な使用は効率的になります。この変更の背景には、ほとんどのアプリで個々の色の更新が主なユースケースではないという理由があります。引き続き可能ですが、以前よりも再コンポーズが増えます。これにより、すべてのマテリアル コードで状態サブスクリプションの量が大幅に減り、より標準的なユースケースの初期化とランタイム コストに影響します。(Ibc2d6)- 無効な色をカスタマイズできるように
ToggleButton
API とSplitToggleButton
API を更新しました。また、色とタイポグラフィの値にマテリアル デザイン トークンが使用されるようになりました。(If087c) - マテリアル デザイン トークンを使用するように、ボタン画像の背景色を更新しました。(Iba215)
- クリック処理を削除して、
Checkbox
、Switch
、RadioButton
コンポーネントを表示専用に変更しました。これらのコンポーネントは、クリックを処理する(Split)ToggleButton
で使用されることが想定されているため、コンポーネントがディスプレイ専用であることが明確に示されるようになりました(Wear でのスタンドアロン使用は想定されていません)。(I2322e)
バグの修正
- Wear Compose マテリアル 3 に、時間とイージングのモーション値のトークンを追加しました。(I437cd)
ToggleButton
、SplitToggleButton
、Checkbox
、Switch
、RadioButton
のバグを修正し、ユーザー補助に関する通知が繰り返されないようにしました(以前は、セマンティック ロールが重複していました)。(Ica281)- パフォーマンスを改善するため、
CompactButton
の materialcore レイヤを削除しました。(7902858)
バージョン 1.0.0-alpha15
2023 年 11 月 15 日
androidx.wear.compose:compose-material3:1.0.0-alpha15
がリリースされました。バージョン 1.0.0-alpha15 に含まれる commit については、こちらをご覧ください。
API の変更
- 基礎レベルの
SwipeToDismissBox
の名前をBasicSwipeToDismissBox
に変更しました。これにより、Foundation レベルのコンポーネントと Material3 レベルのSwipeToDismissBox
の違いが明確になります。後者は、スクリムで使用される色をMaterialTheme
から取得し、残りの実装をBasicSwipeToDismissBox
に委任します。(Ibecfc)
バグの修正
- パフォーマンスを改善するため、マテリアル 3 ボタンの material-core レイヤを削除しました。(I55555)
バージョン 1.0.0-alpha14
2023 年 10 月 18 日
androidx.wear.compose:compose-material3:1.0.0-alpha14
がリリースされました。バージョン 1.0.0-alpha14 に含まれる commit については、こちらをご覧ください。
API の変更
- Material3
HorizontalPageIndicator
からindicatorStyle
パラメータを削除しました。代わりに、デバイスの画面の形状(直線または円形)に従います。(I83728) - 新しい
SplitToggleButtonColors
クラスを追加して、SplitToggleButton
の色とToggleButton
の色を分離しました。(I78bee)
バージョン 1.0.0-alpha13
2023 年 10 月 4 日
androidx.wear.compose:compose-material3:1.0.0-alpha13
がリリースされました。バージョン 1.0.0-alpha13 に含まれる commit については、こちらをご覧ください。
API の変更
バージョン 1.0.0-alpha12
2023 年 9 月 20 日
androidx.wear.compose:compose-material3:1.0.0-alpha12
がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit については、こちらをご覧ください。
API の変更
- マテリアル デザイン トークンを使用するように
IconButton
を更新しました。(I3f137) - マテリアル デザイン トークンを使用するように
IconToggleButton
を更新しました。(I7d263) CheckboxColors
、RadioButtonColors
、SwitchColors
のコンストラクタを公開しました。(I82b73)
バージョン 1.0.0-alpha11
2023 年 9 月 6 日
androidx.wear.compose:compose-material3:1.0.0-alpha11
がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。
バグの修正
- Material3 カードのタイポグラフィを
TitleMedium
に更新しました。(I597bd) - マテリアル 3 の
ListHeader
とListSubheader
のタイポグラフィと配置を更新しました。(Ib5ceb)
バージョン 1.0.0-alpha10
2023 年 8 月 23 日
androidx.wear.compose:compose-material3:1.0.0-alpha10
がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。
新機能
- Wear Material3 ライブラリに
HorizontalPageIndicator
を追加。(Ifee99)
API の変更
- マテリアル 3 デザイン トークンを使用するように Buttons のコードが更新されました。(I92fe4)
- Wear マテリアル 3 の Stepper API と Slider API を試験運用版として宣言します。ユーザー インターフェースの詳細はまだ確定していません。(I84d54)
ExtraSmall
サイズはIconButton
にのみ適用されるため、丸いTextButton
とTextToggleButton
から削除しました。(Ibc7d5)
バグの修正
- TextToggleButton のタイポグラフィに関するガイダンスを更新し、LargeButtonSize に LabelLarge を使用するようにしました。(Ib10fa)
- TextButton のタイポグラフィに関するガイダンスを更新し、LargeButtonSize に LabelLarge を使用するようにしました。(I8f3a7)
- ユーザー補助のため、カードのタップ ターゲットの最小サイズは 48 dp に設定されています。(Ieb9b1)
- 画像付き AppCard のデモを追加し、背景付き AppCard のデモを削除しました。(Id735f)
- 丸いボタンで修飾子が正しく連結されないバグを修正しました。(I5e162)
バージョン 1.0.0-alpha09
2023 年 8 月 9 日
androidx.wear.compose:compose-material3:1.0.0-alpha09
がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。
新機能
- マテリアル 3 に
ToggleButton
を追加しました。(I6bed6)
API の変更
- 以前コメントで述べたように、API 制約として
FloatRange
アノテーションを有効にしました。(Icb401) - 最新の Material3 ガイドラインに準拠するよう、Wear Material3 のタイポグラフィを更新しました。(I1bad6)
バグの修正
Button
、IconButton
、TextButton
の色を、マテリアル 3 のデザインに合わせて更新しました。(Ib2495)- 無効な状態のチェックボックスのチェックマークの可視性を修正しました。(Ib25bf)
バージョン 1.0.0-alpha08
2023 年 7 月 26 日
androidx.wear.compose:compose-material3:1.0.0-alpha08
がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください。
新機能
- マテリアル 3 に、
Switch
、Checkbox
、RadioButton
の選択コントロールを追加しました。(Ib918c) - Material3 に
IconToggleButton
とTextToggleButton
を追加しました。これは、アイコンとテキスト用の 1 つのスロットを備えた円形の切り替えボタンです。ToggleButton
のサイズが異なる場合は、それぞれの切り替えボタンで指定されたサイズのModifier.touchTargetAwareSize
を使用することをおすすめします。(I9f015) - Material3 コンポーネントに
ListHeader
とListSubheader
を追加しました。(Ibaefe) - Material3
SwipeToDismissBox
が追加されました。これは、新しい FoundationSwipeToDismissBox
を呼び出し、そのテーマのデフォルトのカラー値を指定します。(I275fb) - Wear Compose にマテリアル 3 の
InlineSlider
を追加しました。使用することでユーザーは値の範囲から選択できます。選択範囲は、範囲の最小値と最大値の間にバーとして表示され、ユーザーはそこから値を 1 つ選択できます。InlineSlider
は、音量や明るさなどの設定を調整するのに最適です。(I7085f)
API の変更
- Wear マテリアル 3 テーマのシェイプを更新し、Shape ではなく
RoundedCornerShape
ベースを使用するようにしました。(Idb133) - Button の高さ定数を公開しました(Idbfde)
- API ファイルを更新し、互換性抑制のアノテーションを付けました。(I8e87a、b/287516207)
- Wear Compose Material 3 の
InlineSliderColors
を更新し、パブリック コンストラクタとパブリック プロパティを追加しました。(I6b632) - Wear Compose マテリアル 3 のすべてのカラークラスを更新し、パブリック コンストラクタとパブリック プロパティを追加しました。(I17702)
- Button の水平方向と垂直方向のパディング定数を公開しました。(Ieeaf7)
バグの修正
- 必要に応じて、ユーザー補助用の大きなフォントによってコンテンツが拡大した場合に、ボタンの高さが調整されるようになりました。(Iaf302)
- ユーザー補助に関する問題に対処するため、いくつかの Button デモを更新しました。(I61ce9)
Stepper
とInlineSlider
で長押し時の連続クリックがサポートされるようになりました。これにより、+ ボタンまたは - ボタンを長押ししてStepper
とInlineSlider
の値をすばやく増減できるようになりました(I27359)
バージョン 1.0.0-alpha07
2023 年 6 月 21 日
androidx.wear.compose:compose-material3:1.0.0-alpha07
がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
Stepper
コンポーネントを Wear OS 向け Compose マテリアル 3 ライブラリに追加しました。これは以前のマテリアル バージョンと似ていますが、デベロッパーからのフィードバックに基づき、デフォルトで範囲のセマンティクスが省略されています。範囲セマンティクスが必要な場合は、Modifier.rangeSemantics
を使用します。(Ic39fd)- Compose for Wear OS マテリアル 3 ライブラリに
curvedText
を追加しました。(Ia8ae3)
バグの修正
wear.compose.foundation
を更新し、wear.compose.material3
の API 依存関係にしました。(I72004、b/285404743)
バージョン 1.0.0-alpha06
2023 年 6 月 7 日
androidx.wear.compose:compose-material3:1.0.0-alpha06
がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
バグの修正
TextButton
を更新し、無効なアルファ値を修正するためにtoDisabledColor
拡張関数を使用するようにしました。(I814c8)
バージョン 1.0.0-alpha05
2023 年 5 月 24 日
androidx.wear.compose:compose-material3:1.0.0-alpha05
がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
- Material3 に
TextButton
を追加しました。これは、テキスト用の 1 つのスロットを備えた円形のボタンです。TextButton
のサイズが異なる場合は、TextButtonDefaults
で提供されているModifier.touchTargetAwareSize
、ExtraSmallButtonSize
、SmallButtonSize
、DefaultButtonSize
、LargeButtonSizeIcon
を使用することをおすすめします。デフォルトのTextButton
には境界線がなく、強調度が低いアクションの背景は透明です。高強調が必要なアクションにはfilledTextButtonColors
を使用します。中程度の強調が必要なアクションには、枠線付きのTextButton
を使用し、枠線をButtonDefaults.outlinedButtonBorder
に設定します。枠線と塗りつぶしの中間の場合は、filledTonalTextButtonColors
を使用します。(I667e4) - Wear Compose マテリアル 3 ライブラリに
Card
、OutlinedCard
、AppCard
、TitleCard
が追加されました。AppCard
とTitleCard
には、CardDefaults.outlinedCardColors
とCardDefaults.outlinedCardBorder
を使用して外枠を設定することもできます。(I80e72)
API の変更
- 後置ラムダ構文をサポートするため、ボタンのラベル パラメータを最後に移動し、ロール パラメータを削除しました(これは
Modifier.semantics
を使用してオーバーライドできるため)。ButtonColors
コンストラクタが公開されました。(Ie1b6d)
バージョン 1.0.0-alpha04
2023 年 5 月 10 日
androidx.wear.compose:compose-material3:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- Material3 に
IconButton
を追加しました。これは、アイコン/画像用の 1 つのスロットを備えた円形のボタンです。バリエーションはIconButton
、FilledIconButton
、FilledTonalIconButton
、OutlinedIconButton
の 4 つです。IconButton
のサイズが異なる場合は、IconButtonDefaults
で提供されているModifier.touchTargetAwareSize
、ExtraSmallButtonSize
、SmallButtonSize
、DefaultButtonSize
、LargeButtonSizeIcon
を使用することをおすすめします。また、特定のボタンサイズに推奨されるアイコンサイズを決定するためのIconButtonDefaults.iconSizeFor
も用意されています。(I721d4)
バージョン 1.0.0-alpha03
2023 年 4 月 19 日
androidx.wear.compose:compose-material3:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
- マテリアル 3 のボタン コンポーネントが追加されました。これはスタジアム型のボタンで、以前は Wear Compose マテリアル ライブラリで Chip という名前でした(Compose マテリアル 3 ライブラリとの整合性を確保するため、Button に名前が変更されました)。デフォルトの Button には塗りつぶし背景があり、
FilledTonal
(薄い境界線付きの透明な背景)、Outlined(薄い境界線付きの透明な背景)、Child(透明な背景で境界線なし。最も目立たない補足アクションに使用)のボタンのバリエーションがあります。シンプルなアイコンとテキスト コンテンツ用の丸いボタンは、今後のリリースで提供される予定です。(Ia6942)
バージョン 1.0.0-alpha02
2023 年 4 月 5 日
androidx.wear.compose:compose-material3:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
- Wear Compose Material 3 に
DefaultTextStyle
を追加しました。これにより、PlatformTextStyle.includeFontPadding
がデフォルトで true(現在の設定)になります。これにより、今後、デフォルトでフォントのパディングをオフにすることを Compose ライブラリと同期できるようになります(Compose の背景のフォントのパディングを修正するをご覧ください)。(I7e461)
バージョン 1.0.0-alpha01
2023 年 3 月 22 日
androidx.wear.compose:compose-material3:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
マテリアル 3 はマテリアル デザインの進化版であり、テーマ設定の更新とコンポーネントの再設計が含まれています。Wear Compose のマテリアル 3 は、Android のマテリアル 3 Compose ライブラリと連携するように設計されています。この最初のアルファ版リリースには、次のものを備えた初期段階の機能実装が含まれています。
Wear マテリアル(
androidx.wear.compose:compose-material
)と Wear マテリアル 3(androidx.wear.compose:compose-material3
)は引き続き並行して開発されます。今後の material3 のリリースでは、ウィジェット セットが拡張され、ボタン、選択ツール、スライダーなど、Wear OS 向け Compose の使い慣れた他のコンポーネントが追加される予定です。Wear Material ライブラリと Wear Material 3 ライブラリは互いに排他的であり、同じアプリで混在させないでください。主な理由は、異なるテーマを参照するため、予期しない不整合が生じる可能性があるためです。
Wear Compose バージョン 1.5
バージョン 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
は以前のリリースで導入されました。Wear のLazyColumn
エイリアス(TransformingLazyColumn
に転送されていた)を削除し、新しい名前TransformingLazyColumn
に置き換えます。また、TransformingLazyColumnVisibleItemInfo
のheight
プロパティも削除しました。代わりにmeasuredHeight
を使用してください。(I0ea1e)PagerDefaults.snapFlingBehavior
snapAnimationSpec
をTween
仕様からSpring
仕様に変更しました。(I10d02、b/349781047、b/303807950)LocalReduceMotion
CompositionLocal
を安定版に昇格しました(Ia6f32)
バグの修正
- ロータリーでの意味のサポートを改善するために、
focusTargetWithSemantics
を使用するようにModifier.rotaryScrollable
を更新しました。(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)SwipeToReveal
API から@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
のサポートを追加し、layoutItems
を介してクライアントのkey
とcontentType
を公開できるようにしました。(I1bd9c)
バグの修正
- ペイントフラグを使用して、曲線テキストのアニメーションをよりスムーズに更新しました。(I73a15)
- 表示フラグが 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)viewportSize
をLazyColumnLayoutInfo
に追加しました。(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 の変更
- Wear Compose Foundation ライブラリに、関連する
LazyColumnState
API とLazyColumnScope
API とともに新しいLazyColumn
を追加しました。これは、Wear Compose でカスタマイズ可能なスケーリング エフェクトとモーフィング エフェクトを構築するための基盤となります。(Ib3b22) - 新しい
LazyColumn
API の一部として、itemsIndexed
のインデックス付きバージョンをLazyColumnScope
に追加しました。(Ib4a57) - スケーリングとモーフィング動作をサポートするために、
LazyColumn
修飾子を追加しました。(Ie229a) HierarchicalFocusCoordinator
が安定版に昇格しました。(I31035)- 曲線テキストの文字間隔のサポートを追加しました。(I3c740)
- コンポーネントの回転を停止するための
rotationLocked
パラメータをCurvedLayout.curvedComposable
に追加しました。(I66898) - Wear Material と Wear Material3 の一時的な
LocalUseFallbackRippleImplementation
API が削除されました。(I62282) @WearPreviewDevices
マルチプレビューからWearDevices.SQUARE
を削除しました。(I11c02)
バグの修正
SwipeToReveal
で表示されたアイテムが画面の表示領域に配置されるようになりました。これにより、SwipeToReveal
をリスト内で使用する場合、アイテムは常に操作可能で、画面外に移動することはありません。(I38929)animatedTo
が完了すると、SwipeToReveal
が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.0
2024 年 9 月 4 日
androidx.wear.compose:compose-*:1.4.0
がリリースされました。バージョン 1.4.0 に含まれるcommit
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
がデフォルトで表示されるようになりました。 SelectableChip
とSplitSelectableChip
がToggleChip
のバリエーションとして追加されました。ユーザー補助向けに切り替え可能なセマンティクスではなく、選択可能なセマンティクスを提供するには、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
の水平方向のパディングを 2dp(5dp から)に更新しました。この変更により、パディングが変更されるため、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
に置き換えられます。(I40579)Switch/Checkbox
などの切り替えコントロールとRadioButton
などの選択可能なコントロールの区別を明確にするために、SelectableChip
とSplitSelectableChip
を追加しました。これにより、以前に追加されたToggleChip/SplitToggleChip
のオーバーロードがselectionControl
パラメータに置き換えられます。(Ia0217)ProgressIndicatorDefaults
のIndeterminateStrokeWidth
の可視性修飾子を公開に更新しました。(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)
バグの修正
layoutInfo
への呼び出し回数をScalingLazyColumn
から減らして、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)ToggleChip
とSplitToggleChip
の新しいselectionControl
オーバーロードのパラメータ名をonSelected
からonSelect
に更新しました。(I1a971)
バージョン 1.4.0-alpha03
2024 年 2 月 21 日
androidx.wear.compose:compose-*:1.4.0-alpha03
がリリースされました。バージョン 1.4.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
Modifier.inspectable
ラッパーのサポートが終了しました。この API を使用すると、必要以上に修飾子の無効化が発生するため、使用は推奨されなくなりました。修飾子プロパティをツールに公開する場合は、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 つのアイテムで commit されたアクションを操作(およびキャンセル)できるというバグがありました。(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 の変更
- 非推奨の
rememberRipple
に代わる新しいリップル API をwear:compose-material
ライブラリとwear:compose-material3
ライブラリに追加しました。また、一時的なCompositionLocal
とLocalUseFallbackRippleImplementation
を追加して、非推奨のrememberRipple/RippleTheme
API を使用するようにマテリアル コンポーネントを元に戻します。これは次の安定版リリースで削除される予定です。これは、カスタム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
の Listener をライフサイクル対応に更新しました。(be28b01)- パフォーマンスを改善するため、
CompactButton
の materialcore レイヤを削除しました(25db8e9) - 例外を回避するため、
BasicSwipeToDismissBox
の NaN オフセットに対する堅牢性を高めました。(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 つのアイテムで commit されたアクションを操作(およびキャンセル)できる状態でした。(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
オブジェクトは、この新しい角の半径を使用して、チップと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 に変更しました。このシェイプは、チップとToggleChip
で使用されます。この変更は、大きなフォントサイズに対応するためにコンテンツの高さを増やす必要がある場合に高さの調整をサポートするために必要です。この変更を行わないと、既存のスタジアム形状で一部のテキスト コンテンツが切り取られます。この変更により、スクリーンショット テストが破損する可能性があります。(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
は、BasicSwipeToDismissBox
の基盤となるスワイプして閉じる実装とともに、androidx.wear.compose.material
からandroidx.wear.compose.foundation
に移行されました。これにより、スワイプして閉じる操作のジェスチャー処理を、マテリアル デザインから独立して使用できるようになります(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
を生成する新しい方法を提供します。Placeholder
では、コンテンツが準備完了状態ではなくなった場合にリセットできるようになりました。また、Placeholder
のきらめき効果とワイプオフ モーションにも、モーションの軽減設定が適用されるようになりました。
既知の問題
- 画面が最初に表示されたときは、
PositionIndicator
は最初は表示されません。1.4 の初期アルファ版で変更を加え、最初は表示されますがアニメーションなしで表示されるようになります。
API の変更
- 基礎レベルの
SwipeToDismissBox
の名前をBasicSwipeToDismissBox
に変更しました。これにより、基盤レベルのコンポーネントとマテリアル レベルの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)- マテリアル チップのパフォーマンスを改善するため、マテリアル コア レイヤを削除しました。(If2dcb)
バージョン 1.3.0-alpha08
2023 年 10 月 18 日
androidx.wear.compose:compose-*:1.3.0-alpha08
がリリースされました。バージョン 1.3.0-alpha08 に含まれる commit については、こちらをご覧ください。
API の変更
PositionIndicator
オーバーロードに個別のフラグを追加し、showFadeInAnimation
、showFadeOutAnimation
、showPositionAnimation
のさまざまなアニメーションを制御できるようにしました。以前の API は非推奨となり、呼び出しは新しい API に転送されます。パフォーマンス上の理由と UX の一貫性のため、PositionIndicator
をスクロール可能なリストで使用する場合は、showFadeInAnimation
フラグとshowPositionAnimation
フラグをオフにすることをおすすめします。PositionIndicator
をスタンドアロンのインジケーターとして使用する場合(音量の変更など)は、3 つのアニメーションをすべてオンにすることをおすすめします。(I44294)- スワイプして閉じる機能が
wear.compose.foundation
に移行されたため、マテリアルのSwipeToDismissBoxState
、SwipeToDismissValue
、edgeSwipeToDismiss
は非推奨になりました。wear.compose.foundation
と同等の値に置き換えてください。(Iee8c9)
バグの修正
- Wear Compose の基盤、マテリアル、ナビゲーション ライブラリのベースライン プロファイルを更新しました。(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 ライブラリとマテリアル ライブラリのベースライン プロファイルを更新しました。(I1dd1f)
バージョン 1.3.0-alpha05
2023 年 9 月 6 日
androidx.wear.compose:compose-*:1.3.0-alpha05
がリリースされました。バージョン 1.3.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
- 「スワイプで表示」の処理が追加され、一度にスワイプできるアイテムが 1 つのみになりました。(I3cd7a)
- 実際の動作に合わせて
ScalingLazyColumnDefaults
のドキュメントを改善しました。(I886d3)
バージョン 1.3.0-alpha04
2023 年 8 月 23 日
androidx.wear.compose:compose-*:1.3.0-alpha04
がリリースされました。バージョン 1.3.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
SwipeToReveal
のセカンダリ アクションの元に戻す機能を追加しました。(I7a22d)
API の変更
- Wear 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) - 以前コメントで説明したように、API 制約として
FloatRange
アノテーションを有効にしました。(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
スコープ内とは限らない、オンデマンドで作成する必要がある場合にExpandableStates
を生成する新しい方法としてExpandableStateMapping
を導入しました(Iff9e0)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 Navigation ライブラリを更新し、Wear Compose Foundation の新しい
SwipeToDismissBox
を使用するようにしました。(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) SwipeToDismissBox
contentScrimColor
のデフォルト パラメータの不整合を修正しました。(I2d70f)SwipeToReveal
のモーション処理を改善しました。(I28fb7)
既知の問題
- ユーザーが設定したフォントサイズをサポートすることは、ユーザー補助機能の要件です。大きなフォントサイズで表示すると、複数行のチップでテキストが切り捨てられる可能性があるため、1.3 アルファ版の初期バージョンでチップを更新し、そのような場合に高さを調整できるようにします。
バージョン 1.2
バージョン 1.2.1
2023 年 10 月 18 日
androidx.wear.compose:compose-*:1.2.1
がリリースされました。バージョン 1.2.1 に含まれる commit については、こちらをご覧ください。
バグの修正
PositionIndicator
が誤って消えるバグを修正しました。(7a167f)
バージョン 1.2.0
2023 年 8 月 9 日
androidx.wear.compose:compose-*:1.2.0
がリリースされました。バージョン 1.2.0 に含まれる commit については、こちらをご覧ください。
1.1.0 以降の重要な変更
- Wear OS 1.2.0 向け Compose の安定版リリースです(詳細)
- Wear Compose 1.2 の主な変更点の一覧については、リリースノート(Compose for Wear OS 1.2 Beta01)をご覧ください。
バージョン 1.2.0-rc01
2023 年 7 月 26 日
androidx.wear.compose:compose-*:1.2.0-rc01
がリリースされました。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
- 1.2 リリースのベースライン プロファイルを確定しました。(Id5740)
バージョン 1.2.0-beta02
2023 年 6 月 7 日
androidx.wear.compose:compose-*:1.2.0-beta02
がリリースされました。バージョン 1.2.0-beta02 に含まれる commit については、こちらをご覧ください。
新機能
ScalingLazyColumn
でのスケーリングとフェードを無効にする新しい試験運用版のLocalReduceMotion
CompositionLocal
変数を追加しました。(I58024)
バグの修正
- Wear Compose 基盤ライブラリとマテリアル ライブラリのベースライン プロファイルを更新しました。(I4725d)
SwipeToDismissBox
contentScrimColor
パラメータのデフォルト値の不整合を修正しました(I2d70f)IncludeFontPadding
設定に使用されるDefaultTextStyle
のデフォルト値を修正しました。(I737ed)
バージョン 1.2.0-beta01
2023 年 5 月 24 日
androidx.wear.compose:compose-*:1.2.0-beta01
がリリースされました。バージョン 1.2.0-beta01 に含まれる commit については、こちらをご覧ください。
Wear OS 向け 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
- 複数の選択ツールをまとめて処理するための新しいコンポーザブル。HierarchicalFocusCoordinator
API を使用して 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
は、複数のフォントサイズの Wear デバイスでコンポーザブルをプレビューします。WearPreviewDevices
は、異なる Wear デバイスでコンポーザブルをプレビューします。- 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 では、既存の PlatformTextStyle.includeFontPadding 値を true として維持し、Wear Compose に DefaultTextStyle を追加しました。背景については、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 で設定するための
angularSizeDp
をCurvedModifier
API に追加しました。(I89a52)
バグの修正
- 時間選択ツールのデモのユーザー補助に関する問題を修正しました。(Id0eb7)
バージョン 1.2.0-alpha08
2023 年 4 月 5 日
androidx.wear.compose:compose-*:1.2.0-alpha08
がリリースされました。バージョン 1.2.0-alpha08 に含まれる commit については、こちらをご覧ください。
API の変更
ExpandableItemsState
の名前をExpandableState
に変更しました。(If85ea)expandableButton
を追加して、コンテンツが展開されたときに閉じるボタンの作成を簡素化し、展開可能な要素の例も更新しました。(Iae309)
バグの修正
- 展開可能なサンプルを改善し、より多くの可能性を示しました。アニメーション全体でコンテンツを中央に維持するように
expandableItem
のアニメーションを変更しました。(I2f637) - State を使用して色を手動でアニメーション化するときに余分な再コンポーズが発生しないように、
ToggleControls
を更新しました。(I5d319)
バージョン 1.2.0-alpha07
2023 年 3 月 22 日
androidx.wear.compose:compose-*:1.2.0-alpha07
がリリースされました。バージョン 1.2.0-alpha07 に含まれる commit については、こちらをご覧ください。
API の変更
MaterialTheme
への有意な参照がないため、Expandable Item コンポーネント(1.2.0-alpha06 で追加)をマテリアルから基盤に移動しました。(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)- 展開可能なアイテムを追加 -
ScalingLazyColumn
内の展開可能なアイテムのグループまたは展開可能な単一アイテム(行数を拡張するテキストなど)をサポートする 2 つの新しいコンポーネント。(I95dd5) - Wear 画面でコンポーザブルをプレビューするためのカスタム アノテーションが追加されました。
WearPreviewSmallRound
は小さな円形デバイスでコンポーザブルをプレビューします。WearPreviewLargeRound
は大きな円形デバイスでコンポーザブルをプレビューします。WearPreviewSquare
は正方形のデバイスでコンポーザブルをプレビューします。また、次のマルチプレビュー アノテーションがあります。WearPreviewFontScales
は、複数のフォントサイズの Wear デバイスでコンポーザブルをプレビューします。WearPreviewDevices
は、異なる Wear デバイスでコンポーザブルをプレビューします。これらのプレビューを使用するには、最新の Android Studio(Giraffe Canary 6)以降を使用する必要があります。これらのアノテーションが目的に合わない場合は、プレビューを引き続き使用できます。プレビューでは、パラメータによるさらなるカスタマイズもサポートされています。(I397ff) HierarchicalFocusCoordinator
は試験運用版としてマークされていますが、幅広い適用範囲を考慮して、コア Compose ライブラリに移行する候補と見なされています。(I3a768)
バグの修正
HierarchicalFocusCoordinator
のバグを修正しました。focusEnabled
パラメータに渡されたラムダが変更された場合、新しいラムダが正しく使用されるようになりました。(Icb353)Button
、CompactButton
、Chip
、CompactChip
、ToggleButton
で、背景としてプライマリ カラーを使用する場合のデフォルトの無効なコンテンツの色を背景に更新しました。これにより、ユーザー補助機能のコントラストが改善されます。(I527cc)
バージョン 1.2.0-alpha05
2023 年 2 月 22 日
androidx.wear.compose:compose-*:1.2.0-alpha05
がリリースされました。バージョン 1.2.0-alpha05 に含まれる commit については、こちらをご覧ください。
API の変更
- オプションとして最小制約をコンポーザブルに伝播できるように
PickerGroup
API を更新しました。true に設定すると、親コンポーザブルから渡された最小制約がPickerGroup
で許可されます。false に設定すると、PickerGroup
は最小制約をリセットします。(I3e046) - 特定の Picker オプションへのプログラマティック アニメーションをサポートするため、Picker API に
animateScrollToOption
を追加しました。(I6fe67)
バグの修正
- 右から左へのレイアウトをサポートするように
HorizontalPageIndicator
を更新しました。(Ia4359) HorizontalPageIndicator
での右から左へのレイアウトに対するスクリーンショット テストを追加しました。(I6fbb8)TestNavHostController
を使用するSwipeDismissableNavHostTest
にテストを追加しました。(I61d54)
バージョン 1.2.0-alpha04
2023 年 2 月 8 日
androidx.wear.compose:compose-*:1.2.0-alpha04
がリリースされました。バージョン 1.2.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- focus API を使用して複数の Picker をまとめて処理するための
PickerGroup
。さまざまな Picker 間でフォーカスを処理し、パラメータに基づいて Picker の自動中央揃えを有効にします。デベロッパーは、この機能を使って、グループのイベントを処理する一方でさまざまな Picker の間でフォーカスを変更できます。TalkBack モードでは、PickerGroup
は、選択された Picker にグループからフォーカスを移動することで、TalkBack のフォーカスを処理します。(I60840)
API の変更
- デフォルトの範囲セマンティクスの無効化をスムーズに進めるため、
enableRangeSemantics
パラメータとともに Stepper にオーバーロードを追加しました。(Ia61d4)
バグの修正
ScalingLazyColumn
を横方向のスクロール ページ内にネストできるようにしました。(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
を更新しました。これにより、TimeText
API のtimeSource
パラメータのデフォルト値が変更されます。(I1eb7f)- マルチ選択ツールによる画面のユーザー補助機能を改善するために、Picker API を拡張しました。選択ツールがユーザーのスクロールに対してアクティブかどうかを制御する、新しいプロパティ
userScrollEnabled
が追加されました。(I3c3aa)
バグの修正
- 最終的な UX の仕様に合わせて、
OutlinedButton/OutlinedCompactButton
のデフォルトの枠線の太さを 2.dp から 1.dp に変更しました。(Icf84d) - 空の
ScalingLazyColumn
に最初に追加された項目が所定の位置でスクロールされるように見える効果を軽減するために、コンテンツが空のときに推定autoCentering topPadding
を追加しました。この変更により、最初の項目の高さ 0.dp であると想定して必要なトップ パディングの量が計算されます。ScalingLazyListAnchorType.ItemStart
の場合、正しいトップ パディングが計算されます。ScalingLazyListAnchorType.ItemCenter
の場合、この計算は正しくありません。これは、コンテンツのサイズを正しく設定するために項目の高さが必要なためです。その結果、項目の実際の高さに基づいて所定の位置で少しスクロールされるように見える効果が発生します。(I239a4) - Wear プラットフォームに合わせて
SwipeToDismiss
アニメーションに適用される背景スクリムを更新しました。(I9003e) - 0 で除算するエラーを回避するために、サイズ 0 のリスト項目に対する
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 -
CurvedLayout
DSL の要素である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)
SwipeToDismissBox
API の一部である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 にお知らせください。