wear protolayout
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2024 年 8 月 7 日 | 1.2.0 | - | - | - |
依存関係の宣言
wear-protolayout への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.2
バージョン 1.2.0
2024 年 8 月 7 日
androidx.wear.protolayout:protolayout-*:1.2.0
がリリースされました。バージョン 1.2.0 に含まれる内容こちらのコミットをご覧ください。
1.1.0 以降の重要な変更
FontStyle
が更新され、可変軸のフォント サポートが追加され、フォント選択 API が改善され、今後の Flex フォントに対応できるようになりました。- 追加の修飾子のサポート:
- アニメーションの有無にかかわらず、移動、回転、スケーリングを行う変換修飾子。
- 角の丸みごとに異なる値(水平と垂直)を指定する。
- クリック可能な修飾子を使用する要素のタップ可能領域を
48dp
×48dp
以上になるように拡張することで、すべてのタップ ターゲットのユーザー補助機能を改善しました。 setResponsiveContentInsetEnabled
を追加してPrimaryLayout
とEdgeContentLayout
を改善し、さまざまな画面サイズにおけるこれらのレイアウトのレスポンシブ動作をサポートし、タイルの一貫性を改善しました。- Android 14 の非線形フォント スケーリングにおけるマテリアル テキストのスケーリングと非スケーリングの改善。
- すべての円弧要素での RTL レイアウト方向のサポートを改善しました。
その他の変更
- バージョン 1.1.0 で導入された変更の詳細については、beta01 リリースノートをご覧ください。
バージョン 1.2.0-rc01
2024 年 7 月 24 日
androidx.wear.protolayout:protolayout-*:1.2.0-rc01
がリリースされました。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
- プライマリ ラベルまたはセカンダリ ラベルが渡されない場合にのみアイコンとして使用できるように、標準のマテリアル チップを修正しました。(Iceef9)。
- マテリアル レイアウトのドキュメントを更新し、レイアウトを理解しやすくするため、関連ページのビジュアルを追加しました。(I0256a)。
バージョン 1.2.0-beta01
2024 年 7 月 10 日
androidx.wear.protolayout:protolayout-*:1.2.0-beta01
がリリースされました。バージョン 1.2.0-beta01 に含まれる commit については、こちらをご覧ください。
新機能
Wear ProtoLayout の 1.2.0-beta01 リリースは、このリリースのライブラリが機能が完全であり、API がロックされていることを示します(試験運用版とマークされている場合を除く)。Wear ProtoLayout 1.2 には、次の新しい機能と API が含まれています。
FontStyle
が更新され、以下のフォントのサポートが追加されました。- さまざまなフォント バリエーションの設定(
FontSetting.weight
やFontSetting.width
など)を設定する - すべての数字に同じ幅を設定 - 表形式の数字(
FontSetting.tnum
フォント機能の設定) - 使用するフォント ファミリー名を指定することで、今後の Flex Fonts をサポートするようにフォント選択 API が改善されました。
- さまざまなフォント バリエーションの設定(
Corner
修飾子を拡張し、各CornerRadius
に個別の水平方向と垂直方向の値を指定して指定できるようにし、角が非対称の要素を作成できるようにしました。LayoutElement
の平行移動、回転、スケーリングを提供する新しいTransformation
修飾子を追加しました。これらの変換は、動的な値を使用してアニメーション化できます。- さまざまなレイアウト方向(LTR、RTL など)でのサポートを改善するために、すべての円弧要素(
Arc
、ArcLine
、ArcText
)にClockwise
、CounterClockwise
、Normal
オプションを備えたsetArcDirection
を追加しました。 Clickable
修飾子を使用する要素のタップ可能領域を48dp
×48dp
以上になるように拡張することで、すべてのタップ ターゲットのユーザー補助機能を改善しました。setResponsiveContentInsetEnabled
を追加してPrimaryLayout
とEdgeContentLayout
を改善し、さまざまな画面サイズにおけるこれらのレイアウトのレスポンシブ動作をサポートし、タイルの一貫性を改善しました。簡単な修正でこれらの API の使用を提案するリンター警告を追加しました。- Android 14 の非線形フォント スケーリングでのマテリアル
Text
のスケーリングと非スケーリングを改善しました。
API の変更
- デフォルトのフォント ファミリー名(
DEFAULT_SYSTEM_FONT
)は、preferredFontFamilies
API を使用しないことで暗示されているため、削除されました。(I39dab)。 FontSetting.width
に渡されるパラメータは正数でなければなりません。(I1266f)。
バージョン 1.2.0-alpha05
2024 年 6 月 26 日
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
がリリースされました。バージョン 1.2.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
hasText
メソッドをMaterial.CompactChip
に追加して、テキスト コンテンツが設定されているかどうかを確認します。(I6e8fc)。
API の変更
FontFamily
定数を Builder クラスではなくFontStyle
に移動しました。(I06ced)。FontSetting.weight
API とFontSetting.width
API を更新して Range アノテーションを追加し、weight パラメータを int に変更します。(Ia726c)。
バグの修正
- マテリアル ライブラリのスケーラブルでないテキストが、Android 14 の非線形フォント スケーリングで正しく機能するようになりました。(I6601e)。
バージョン 1.2.0-alpha04
2024 年 5 月 29 日
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
がリリースされました。バージョン 1.2.0-alpha04 に含まれる commit については、こちらをご覧ください。
API の変更
- 各角の半径を 2 つの値で個別に指定できるように、非対称角の API を追加しました。(Icbd69)。
FontSetting
API を拡張して以下を含む:- 使用するフォント ファミリーの順序リストを指定できるように、フォント ファミリー API を
FontStyle
に追加しました。(Iba9f5)。 - マテリアルの
LayoutDefaults
のコンテンツとセカンダリ ラベルの間のスペースの高さの定数の名前を変更しました。当初は「エッジ コンテンツ」の接頭辞でしたが、PrimaryLayout
とEdgeContentLayout
の両方に適用できるため、より汎用的になりました。(I4dc32)。
バグの修正
- 可変フォント軸の名称を
axisName
からaxisTag
に変更しました。(I02ba3)。
バージョン 1.2.0-alpha03
2024 年 5 月 14 日
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
がリリースされました。バージョン 1.2.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
FontStyle
のカスタム ウェイト値を設定するための API を追加しました。(I7390a)。
バグの修正
- ターゲット マップが空であることによる
getTouchDelegateInfo
の失敗を修正しました。(I2accf)。
バージョン 1.2.0-alpha02
2024 年 5 月 1 日
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
がリリースされました。バージョン 1.2.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
- 個々のクリック可能な要素に対する波紋フィードバックを無効にできるようになりました。(If1ede)。
- 変換用の API は、この機能をサポートしていないため
ArcModifiers
から削除されました(Ic0827)。 ArcDirectionProp
ビルダーはコンストラクタ内に値を含めるようになりました。(I76ada)。PlatformDataValues.Builder.putAll
メソッドを使用すると、あるPlatformDataValue
を別のPlatformDataValue
にマージできます。(I50ba3)。Text#setIsScalable
の名前がText#setScalable
に変更されました。(If920e)。- マテリアル テキストでは、スケーラブルなサイズ(ユーザーのフォントサイズが変更されると大きくなる)を使用するかどうかを設定できます。(Ibc849)。
- コンテンツの説明を
TitleChip
に設定するオプションを追加しました。(I5d21f)。 - アイコンのみで正しく動作するように
CompactChip
を修正しました。また、このオプションを許可するように API を更新しました。(I6589e)。
バグの修正
- 初期化中にプラットフォーム データが重複する可能性がある問題を修正しました。(Iba0fd)。
- ノードコストを取得するための新しいゲッターを
DynamicDataNode
に導入しました。この費用は、動的ノード割り当てを取得する際に使用されます。現在、固定値を持つノードのコストは 0 になり、他のすべてのノードのコストは 1 になります。(Ia33e1)。 NO_OP_QUOTA_MANAGER
からカウント ロジックを削除しました。(Ib50b8)。setResponsiveContentInsetEnabled
を指定せずにPrimaryLayout
を使用した場合に警告を報告する lint ルールを追加し、簡単な修正を行いました。(I12025)。- 動的式ノードの数には上限があります。(Iffae8)。
バージョン 1.2.0-alpha01
2024 年 3 月 6 日
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
ProtoLayout Arc
要素に、ArcDirection
(Clockwise
、Counterclockwise
、またはNormal
)を追加するオプションが追加されました。この動作をArc
、ArcLine
、またはArcText
に追加すると、RTL レイアウトでの動作が修正されます。(I90699)。EdgeContentLayout
が新しいsetResponsiveContentInsetEnabled
セッターで更新され、UX ガイドラインへの準拠、プライマリ ラベルが一番上に固定され、ラベルのレスポンシブ インセットによってタイルの一貫性が向上しました。(I60175)。- このレイアウトのプライマリ ラベル、セカンダリ ラベル、ボトムチップにレスポンシブ インセットを追加する
PrimaryLayout.setResponsiveContentInsetEnabled
を追加し、コンテンツが画面の端から外れないようにします。(I0c457)。 CircularProgressIndicator
から外側の余白を削除するメソッドを追加して、より小さなコンポーネントとして使用できるようにしました。(I55c06)。
API の変更
- タイルのレンダラで、すべてのテキスト要素のフォント パディングがデフォルトで除外されるようになりました。ただし、追加するオプションはありません。(I3e300)。
バグの修正
- テキストで省略サイズ、文字間隔、中央揃えを使用している場合のテキストの配置の問題を修正しました。(I716c7)。
- スキーアークの描画の問題の回避策を追加しました。(I08f09)。
- RTL レイアウトでの
ArcLine
の描画方向を修正。(I6c141)。
バージョン 1.1
バージョン 1.1.0
2024 年 2 月 7 日
androidx.wear.protolayout:protolayout-*:1.1.0
がリリースされました。バージョン 1.1.0 に含まれる commit については、こちらをご覧ください。
1.0.0 以降の重要な変更
ArcLine
でグラデーションがサポートされ、360 度を超える長さの表現が改善されました。- 日時形式では、動的データ型に対してさまざまなタイムゾーンがサポートされています。
- 切り捨てられたテキストを処理するためのテキストの自動サイズ調整と省略形のオプションを改善しました。
- スペーサーは、オプションの太さを指定して拡張サイズをサポートします。
- すべての
ProtoLayout
API に対するスキーマ バージョン要件のアノテーション。 - ユーザー補助の要件を満たすために、ターゲット領域を任意の
Clickable
要素に 48 dp x 48 dp に拡張しました。 - フォントのパディングはデフォルトでオフになっており、テキストを含むすべてのテキスト要素とマテリアル コンポーネントで唯一の動作です。
その他の変更
- バージョン 1.1.0 で導入された変更の詳細については、beta01 リリースノートをご覧ください。
バージョン 1.1.0-rc01
2024 年 1 月 24 日
androidx.wear.protolayout:protolayout-*:1.1.0-rc01
がリリースされました。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
- アップデートを有効にした直後に
PlatformTimeUpdateNotifierImpl
が点灯します。(I77145)。 CircularProgressIndicator
が RTL レイアウト用に修正されました。今後は、すべてのケースで時計回りに回転します。(I95ee3)。- スキーアークの描画の問題の回避策を追加しました。(I08f09)。
バージョン 1.1.0-beta01
2024 年 1 月 10 日
androidx.wear.protolayout:protolayout-*:1.1.0-beta01
がリリースされました。バージョン 1.1.0-beta01 に含まれる commit については、こちらをご覧ください。
新機能
Wear ProtoLayout の 1.1.0-beta01 リリースは、このリリースのライブラリが機能が完全であり、API がロックされていることを示します(試験運用版とマークされている場合を除く)。Wear ProtoLayout 1.1 には、次の新しい機能と API が含まれています。
ArcLine
で、Brush
とSweepGradient
を追加し、既存のStrokeCap
にShadow
を追加することで 360 度を超える長さを表現できるようにキャップにシャドウを設定することで、グラデーションをサポートするようになりました。DynamicInstant
はゾーン日時形式をサポートしています。DynamicInstant
とDynamicDuration
は、状態データ型またはプラットフォームのデータ型として使用できます。- テキストサイズの自動サイズ調整機能では、複数のサイズを
FontStyle.setSizes
に設定できます。テキストサイズは、親の内側のスペースに合わせて自動的に調整されます。また、TEXT_OVERFLOW_ELLIPSIZE
を追加し、TEXT_OVERFLOW_ELLIPSIZE_END
のサポートを終了することで、はみ出すテキストの省略サイズのオプションを改善しました。 Spacer
で、オプションの太さを指定した拡張ディメンションがサポートされるようになりました。ExpandedDimensionProp
をビルドするために、ヘルパー メソッドDimensionBuilders.weight
を追加しました。Modifier.visible
によるレイアウト要素の動的な非表示と再表示のサポート。これには、BoolProp
に動的な値を含めることも含まれます。- すべての
ProtoLayout
API にスキーマ バージョン要件のアノテーションが追加されました。新しい API を呼び出す前にバージョンを確認できます。 - ユーザー補助の要件をより適切にサポートするため、
Clickable
を持つすべての要素について、レンダラ内のターゲット領域を少なくとも 48x48 に拡張しました。 - 他のマテリアル コンポーネントと Compose の取り組みに沿って、すべての
Text
要素でフォントのパディングをデフォルトでオフにしました。また、AndroidTextStyle
と関連セッターが公開 API から削除されました。 以下のバグが修正されました。 EdgeContentLayout
にエッジ コンテンツを配置するためのセッターを追加して、他のコンテンツの前に配置できるようになりました。- 認識されない列挙値が検出されると、一貫して例外がスローされます。
- 式が無効な数値(NaN または無限)を返すか、
ArithmeticException
をスローする場合は、式の結果を無効にします。
API の変更
- コンストラクタで色または
ColorStops
を受け取れるようにSweepGradient
API を更新しました。(I6676f)。
バグの修正
- 円弧要素が描画される方向を設定するための制限付き API とレンダラのサポートが追加されました。(Idef5a)。
FloatToInt32Node
で指定しない場合、RoundMode
はデフォルトでFloor
になります。指定されたRoundMode
が認識されない場合、ノードは例外をスローします。(I1b2d8)。
バージョン 1.1.0-alpha04
2023 年 12 月 13 日
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
VersionInfo
クラスはComparable
インターフェースを実装しません。(I8d13c)。- レンダラが
TEXT_OVERFLOW_ELLIPSIZE
オプションをサポートするようになりました。(I7f085)。
API の変更
- テキスト オーバーフロー オプション
TEXT_OVERFLOW_ELLIPSIZE_END
のサポートが終了しました。よく似た動作の新しい APITEXT_OVERFLOW_ELLIPSIZE
を使用してください。(I822d8)。 - 他のマテリアル コンポーネントと Compose の取り組みに沿って、すべてのテキスト要素でフォントのパディングをデフォルトでオフにしました。また、
AndroidTextStyle
と関連セッターが公開 API から削除されました。(I79094、Ib0b03、I32959、Iaf7d5、Ifa298、I0a4ae、Ida9d3)。 Modifier.hidden
がModifier.visible
に置き換えられました。(I56902)FontStyle#setSizes
がSpProp
引数ではなく int 引数を受け入れるようになりました。(I02b37)。
バグの修正
- 未定義または認識できない列挙値が検出された場合に、例外をスローします。(I9d2cf)。
DynamicTypeBindingRequest
をリファクタリングします。(I27b57)。- 式が無効な数値(NaN または無限)を返すか、
ArithmeticException
をスローする場合は、式の結果を無効にします。(I681ae)。
バージョン 1.1.0-alpha03
2023 年 11 月 29 日
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- レイアウト要素の動的な非表示/再表示に対する試験運用版のサポートを追加しました(I64a78)。
BoolProp
に動的な値のサポートを追加しました(I2fe96)。ProtoLayout
API にスキーマ バージョン要件のアノテーションを追加しました(I0f03c)。TextOverflow
の新しいオプションを使用して API を拡張し、最大行数に達していない場合でも固定の親コンテナのテキストを省略する(テキスト用のスペースが足りない)ようにしました。(I110a9)。- 重みを使用して
ExpandedDimensionProp
をビルドするためのヘルパー メソッドDimensionBuilders.weight
を追加しました。(I4f72b)。 DynamicInstant
とDynamicDuration
は、状態データ型またはプラットフォームのデータ型として使用できます。(I6819f)。
API の変更
- API を更新して
DynamicZonedDateTime
を非表示にし、すべてのオペレーションをDyanamicInstant
に移動します(I34b94)。 - スペーサーで幅と高さの拡張サイズがサポートされるようになりました。(Ie7c94)。
- レンダラでクリック ターゲット エリア拡張をサポート(I39c79)
バージョン 1.1.0-alpha02
2023 年 11 月 15 日
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
ArcLine
StrokeCap
Shadow
フィールドを API に追加しました。(I830ec)。- API を拡張して、拡張する Spacer の幅または高さを指定できるようにします。(I757ca)。
- 親の内側のスペースに基づいてテキストサイズを自動的にスケーリングする試験運用版の API を追加しました。(Ibbe63)。
- クリック可能な最小サイズをサポート(I178e3)
StrokeCap
Shadow
のレンダラのサポートを追加しました。(I48b17)。ArcLine
のスイープ グラデーションに対するレンダラのサポートを追加。(I4d5bb)。
バージョン 1.1.0-alpha01
2023 年 10 月 18 日
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
SweepGradient
をサポートするブラシ オプションをArcline
に追加しました。(Ie7ce3)。- ゾーン日時形式のサポートを追加しました。(Ibfae0)。
- ゾーン日時の形式に必要な proto と Java ラッパーを追加しました。(I97126)。
DynamicDataValue
に格納された値を読み戻すためのゲッターを追加しました。(Ie6cea)。EdgeContentLayout
にエッジ コンテンツを配置するためのセッターを追加して、他のコンテンツの前に配置できるようになりました。(Ie8e8a)。
バグの修正
- 複数のタイム データソース登録を含む式がすぐに更新されない問題を修正しました。(I8e1a8)。
- 差分の更新中にルート要素が中央に配置されるバグを修正しました。(Ie48f7)。
- 未設定(または空)のレイアウト制約値は無視されなくなります。(Ibc785)。
- レイアウトが表示されてからパイプライン ノードが初期化されるまでの遅延を短縮しました。(I38d4e)。
バージョン 1.0
バージョン 1.0.0
2023 年 8 月 9 日
androidx.wear.protolayout:protolayout-*:1.0.0
がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
ProtoLayout ライブラリには、さまざまな Wear OS サーフェスで使用できるレイアウトと式を作成するための API が導入されています。たとえば、Tiles ライブラリはこれらの API を使用して、プラットフォーム データ バインディング(タイルデータの更新を高速化する)とアニメーションをサポートします。
バージョン 1.0.0-rc01
2023 年 7 月 26 日
androidx.wear.protolayout:protolayout-*:1.0.0-rc01
がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
- Tiles から
ProtoLayout
に移行するには、こちらの手順を行ってください。
API の変更
- Arc 要素から
setLayoutConstraintForDynamicAnchorAngle
メソッドとgetLayoutConstraintForDynamicAnchorAngle
メソッドを削除しました。以下のメソッドは誤って追加されたものであり、指定されたレイアウトには影響しません。(If7d01)。 ProtoLayout
のレイアウトが持つことができる最大深度は、30 のネストされたLayoutElements
に制限されています。(I8a74b)。
バグの修正
DynamicColor
がSpanText
に設定されている場合にスローするチェックを追加しました。(I0e5bc)。DAILY_CALORIES
データソースの単位が kcal であることが明確化されました。(Iaa785)。
バージョン 1.0.0-beta01
2023 年 6 月 21 日
androidx.wear.protolayout:protolayout-*:1.0.0-beta01
がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
新機能
- 時間バインディング テストのクロック設定を許可する。(I05622)。
API の変更
PlatformDataReceiver.onData()
とStateBuilders.Builder.addKeyToValueMapping
が、安全でないジェネリクスではなく、DynamicDataKey
からDynamicDataValue
へのタイプセーフなマッピングを受け入れるようになりました。つまり、DynamicDataValue
はそのDynamicType
で型付けされるようになりました。他の Android 定数の配置に合わせて、HEART_RATE_ACCURACY_X
定数をPlatformHealthSources
のルートに移動しました。HEART_RATE_ACCURACY_X
の整数定数が、値定数の代わりにDynamicHeartRateAccuracy.constant()
とDynamicHeartRateAccuracy.dynamicDataValueOf()
で直接使用されるようになりました。(I82ff5)。PlatformHealthSources.Constants
クラスが誤ってインスタンス化可能になっていました。この問題は解決済みです。(Icb849)。PlatformTimeUpdateNotifier#setReceiver
が、Supplier
関数の代わりにRunnable
を受け取るようになり、通知するExecutor
を受け取るようになりました。(I9d938)。PlatformTimeUpdateNotifier#setReceiver
のパラメータ型をCallable
からSupplier
に変更しました。(I664bf)。CompactChip
とTitleChip
がアイコンの追加をサポートするようになりました。(I5a01e)。
バグの修正
- 動的フィールドを含む Prop メッセージを更新して、代わりに oneof を使用する(I81739)
- セッターを持つオーバーロードにセッターの実装を再利用する(Ied70c)
- オーバーロードのあるセッターでフィンガープリントを適切に記録しました(I86ed2)。
バージョン 1.0.0-alpha11
2023 年 6 月 7 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。
新機能
- 心拍数の精度を高めるために
PlatformDataKey
を追加しました。(I7f9b8)。
API の変更
StateBuilders#getIdToValueMapping
の名前をgetKeyToValueMapping
に変更し、戻り値の型をMap<<AppDataKey<?>,DynamicDataValue>
に変更します。(Iaa7ae)。StateStore
を最終クラスにします(I408ca)protolayout-expression-pipeline
ライブラリのTimeGateway
インターフェースがPlatformTimeUpdateNotifier
に置き換えられました。これにより、時刻データの更新に必要な頻度が提供されます。(I60869)。PlatformDataProvider
のregister
/unregisterForData
の名前をset
/clearReceiver
に変更しました(I14b02)- マテリアル テキストでの
getExcludeFontPadding
の名前がhasExcludeFontPadding
に変更されました。(Iea01d)。 - すべてのチップ コンポーネントに、ラベルを完璧に揃えるためのセッターを追加しました。すべてのチップに、タップ可能な最小ターゲットを適用しました。(I8ae92)。
LayoutDefaults#BUTTON_MAX_NUMBER
の名前をMAX_BUTTONS
に変更しました。(I84788)。DAILY_DISTANCE
の名前がDAILY_DISTANCE_M
に変更されました。(I4f758)。
バグの修正
- Prop タイプのドキュメントを更新し、静的値が適用される理由を明確にしました。静的値が指定されていない場合に使用するデフォルト値を指定します。(I155aa)。
PlatformDataKey
名前空間は、Java スタイルの命名に従う必要があります。(I47bda)。
バージョン 1.0.0-alpha10
2023 年 5 月 24 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。
新機能
- アプリの push 状態にアクセスするための
AppDataKey
を追加。プラットフォーム データにアクセスするためのPlatformDataKey
を追加しました。StateStore
に名前空間のサポートを追加しました。(I7985e)。 DynamicBool
のEqual
オペレーションとNotEqual
オペレーションをサポート。(I6a0c1)。
API の変更
FontStyles
クラスが最終クラスになりました(Iaa2ea)LayoutElementBuilders#FontStyles
が非推奨になりました。androidx.wear.protolayout.Typography
を使用するか、独自のFontStyle
を作成してください。(Ic929b)。Action
インターフェースからAction#Builder
ネストされたインターフェースを非表示にします。Builder の実装は、LoadAction
クラスとLaunchAction
クラスですでに提供されています。(I1d70c)。FloatProp
でのDynamicFloat
の使用を許可する。なお、FloatProp
はレイアウト変更プロパティとして使用されないため、レイアウトの制約は必要ありません。(I286ac)。LoalAction
アクションとSetStateAction
アクションは、まだ実際にはサポートされていないため削除されました。(I5d6a6)。- インライン画像リソース用の ARGB_8888 形式のサポートを追加しました。(I8a07c)。
StateEntryValue
の名前をDynamicDataValue
に変更し、DynamicDataKey
を使用するように状態 API を更新しました(If1c01)。StateStore
の各インスタンスでメモリ使用量と状態更新時間が十分に抑制および制御されるように、StateStore
で許可されるエントリ数を制限します。そのため、マップ内のエントリがMAX_STATE_ENTRY_COUNT
個以下であることを確認する必要があります。超えた場合、StateStore
を作成または更新するときにIllegalStateException
が返されます。(Ibadb3)。OnLoadTrigger
クラスとOnConditionMetTrigger
クラスを非表示にし、OnConditionMetTrigger
のsetTrigger
の名前をsetCondition
に変更します。(Ibf629)。- パフォーマンスと互換性の理由から、
ProtoLayout
レンダラはAnimatedVectorDrawable
リソースのすべての機能をサポートしていません。サポートされているセットが定義されるまで、これらの API は試験運用版としてマークされています。(Ic6daf)。 - 1 日の距離、1 日のカロリー、1 日の階数に関する動的なタイプを追加しました。プラットフォームの健全性ソースのキーが
PlatformHealthSources.Keys
の下にあるようになりました。(Ib7637) Easing.cubicBezier
メソッドはCubicBezierEasing.Builder
に代わるものです。これにより、EasingFunction
クラスが削除され、そのクラスのイージング定数にEasing
インターフェースから直接アクセスできるようになりました。さらに、setInfiniteRepeatable
がINFINITE_REPEATABLE_WITH_RESTART
とINFINITE_REPEATABLE_WITH_REVERSE
に置き換えられました。(Ib41e7)- 心拍数と 1 日の歩数を表示するには、
PlatformDataProvider
を実装します。SensorGateway
インターフェースが公開 API から削除されました。(I55b84)。 PlatformDataProvider
を追加し、プロバイダのサポートされているキーが式パイプラインのノードで必要な場合に、PlatformDataProvider
に登録するようにStateStore
を更新します。(Ib616a)。SensorGateway
は状態を維持しなくなるため、Closeable
ではなくなりました。(I6b4f7)。CircularProgressIndicator
の進行状況のために、DynamicFloat
でFloatProp
の使用を許可する。これは、バージョン 1.2 をサポートするレンダラでサポートされています。古いレンダラは、指定された場合はstaticValue
にフォールバックし、それ以外の場合は 0 にフォールバックします。(I0d91b)MultiButtonLayout
定数がLayoutDefaults.MultiButtonLayoutDefaults
クラスにリファクタリングされました。この定数には、レイアウト内のボタンの数に応じたボタンサイズ用のものが含まれています。(I13973)。- マテリアル テキストでの
StringProp
とDynamicString
の使用をサポート。これは、バージョン 1.2 をサポートするレンダラでサポートされています。古いレンダラは、指定された静的な値にフォールバックします。Text#getText
の戻り値の型をString
からStringProp
に更新します。(I7275b)。
バージョン 1.0.0-alpha09
2023 年 5 月 10 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。
新機能
- 試験運用版の拡張機能レイアウト要素を追加しました。なお、これはデフォルトでは使用できません。また、レイアウト要素を理解できるレンダラ拡張機能が必要です。(I6581d)。
ArcLine
のStrokeCap
サポートを追加しました。(I94951)。- 条件付きインスタント検索のサポートを追加しました。(I489a7)。
- 条件付き期間のオペレーションのサポートを追加しました。(Iab469)。
- 秒単位から時間を作成するためのサポートを追加しました。(Ib5fa1)。
API の変更
enable/disablePlatformSource
メソッドがDynamicTypeEvaluator
から削除されました。更新は呼び出し元が行う必要があります。(I78c6d)。- バインドされたデータ型のサイズに上限を設定できるようになりました。(Ie2966)。
protolayout-material
での動的コンテンツの説明のサポートを追加しました。(I62c8e)。- AnimationParameters の duration と delay に long と
@IntRange
を使用します。(I388b6)。
バージョン 1.0.0-alpha08
2023 年 4 月 19 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください。
新機能
- 「
AndroidTextStyle
」を「LayoutElementBuilders
」に追加しました。(I8d967)。 ProtoLayout
マテリアル テキストで、フォントのパディングを除外する設定のサポートを追加しました。(I17f5d)。- インライン画像で ARGB_8888 がサポートされるようになりました。(I18c1e)。
DynamicColor
でonCondition
オペレーションがサポートされるようになりました。(I10927)。
API の変更
- 反転アニメーションでカスタムの長さをサポート(I3251f)
SemanticDescription
修飾子が追加されました。また、ContentDescription
をバインドできません。(I3f1d)。DynamicBool.isFalse()
メソッドがDynamicBool.negate()
に置き換えられ、DynamicBool.isTrue()
が削除されました。さらに、NaNDynamicFloat
値とDynamicInt32
をDynamicFloat
に絞り込むと、無効な動的結果が出力されるようになりました。(I6ac1e)。- int と float のフォーマッタで Builder パターンが使用されるようになりました。(Ieb213)。
バグの修正
- 静的な代替値は、アニメーション化可能なフィールドから削除されました。(Ifcb01)。
DynamicTypeValueReceiver#onPreUpdate
を削除しました。(I2dc35)。- 動的式の文字列の長さに上限が設定されました。(I4c93)。
- Gradle の依存関係が、必要に応じて
implementation
ではなくapi
に正しく設定されるようになりました。(I40503)。
バージョン 1.0.0-alpha07
2023 年 4 月 5 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。
新機能
API の変更
sensorGateway#registerSensorGatewayConsumer
は、コンシューマのメソッドではなくパラメータとしてデータ型を受け取ります。(Icf314)。ObservableStateStore
の名前をStateStore
に変更しました。(Ieb0e2)。- デフォルトで空のストアに設定される
ObservableStateStore
など、より多くのオプション引数を使用できるように、コンストラクタ引数の代わりにDynamicTypeEvaluator.Builder
を追加しました。(I6f832)。 DynamicTypeEvaluator
のパラメータの順序をリファクタリングしました。(Ic1ba4)。
バグの修正
- プラットフォーム センサーソースからダウンストリーム ノードに信号を正しく伝播(I5a922)
バージョン 1.0.0-alpha06
2023 年 3 月 22 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
- 動的式で心拍数と 1 日の歩数を使用するための試験運用版 API を追加しました(Ifd711)
- アニメーションの逆方向と順方向の遅延のサポートを追加しました。(Ic25f7)。
- 枠線と背景に
DynamicColor
のサポートを追加しました DimensionBuilder
のタイプに動的な値のサポートを追加しましたtiles-material
のレイアウトとコンポーネントはprotolayout-material
に移行されます
API の変更
- 「
LoadActionListener
」を「ProtoLayoutViewInstance
」に追加しました。(If7806)。
バグの修正
FloatNodesTest
を追加しました(Id7281)。- 構造化ビットマップを読み込めない場合にレンダラがクラッシュする問題を修正。
バージョン 1.0.0-alpha05
2023 年 3 月 8 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
- 試験運用版の「コンテンツ アップデート」を
Modifiers
オブジェクトに追加します。このアニメーションは、レイアウトの更新中に要素(この修飾子付き)またはその子が変更されるたびにトリガーされます。(bd03e5d)。
API の変更
forwardRepeatDelayMillis
とreverseRepeatDelayMillis
をRepeatable
に追加しました。また、AnimationSpec
のdelayMillis
の名前をstartDelayMillis
に変更しました(Ifb266)DynamicTypeEvaluator.bind
メソッドがエグゼキュータを受け入れるようになりました。(I346ab)。- 動的タイプがバインドされた後に評価をトリガーする
startEvaluation
メソッドをBoundDynamicType
に追加しました。(I19908)。
バグの修正
- Animator オブジェクトは、1 つの要素の後続のアニメーションで再利用されます。(Ia3be9)。
バージョン 1.0.0-alpha04
2023 年 2 月 22 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
ObservableStateStore
は、キーが削除されたときにリスナーにも通知するようになりました。- レンダラのスキーマ バージョンとフォント スケールを
DeviceParameters
に追加しました(これを使用すると、さまざまなバージョンとフォント設定に応じて条件付きでレイアウトを作成できます)。 DynamicInt32
値のアニメーション化のサポートを追加しました(I05485)。OnLoad
トリガーとOnConditionalMet
トリガーを追加しました。これらを使用して、トリガーをサポートするアニメーションを開始できます。- 拡張ディメンションのレイアウトの太さと、ラップされたディメンションの最小サイズが追加されました。
- 再生時間とインスタントの動的タイプを追加しました。これらは動的な式で時刻や期間を表現するために使用できます。
- レイアウト リソースとして
AnimatedVectorDrawable
とSeekableAnimatedVectorDrawable
のサポートが追加されました。
API の変更
- センサーデータには API 29 以降が必要です。(I8099e)。
- (アクティビティを起動するための)2 つの
launchAction
ヘルパー メソッドを追加しました。
バグの修正
- タイル アニメーションで
set/getSpec
の名前をset/getAnimationSpec
に変更しました。(I3d74b)
バージョン 1.0.0-alpha03
2023 年 2 月 8 日
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- protolayout-express ライブラリ内の Dynamic 型に
toByteArray()
とfromByteArray()
を追加しました。 - protolayout-expression ライブラリ内の Dynamic 型に
toString()
を追加しました。 - Dynamic 型の評価サポートを追加しました。protolayout-expression-pipeline ライブラリの
DynamicTypeEvaluator
クラスを使用して、以前作成の Dynamic 型(DynamicString
、DynamicFloat
など)について評価する(および更新された値を受け取る)ことができます。 - アニメーションを(エバリュエータによって無効化されているか、実行中のアニメーションの上限に達したために)再生できない場合は、アニメーション化可能なノードに設定された静的な値が、アニメーションの置換に使用されます。
バージョン 1.0.0-alpha02
2023 年 1 月 25 日
androidx.wear.protolayout:protolayout:1.0.0-alpha02
、androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
、androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
androidx.wear.tiles:tiles
のレイアウト ビルダーがandroidx.wear.protolayout:protolayout
に移動しました。androidx.wear.tiles:tiles
内のレイアウト ビルダーは次のアルファ版リリースのいずれかで非推奨となります。
バージョン 1.0.0-alpha01
2023 年 1 月 11 日
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
と androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- このリリースでは、動的変数から式を作成するための新しいライブラリ「ProtoLayout Expression」が導入されました。