wear protolayout

  
このライブラリを使用すると、一連の UI レイアウトと UI 以外の式をリモート サーフェスでレンダリング / 評価できます。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2024 年 3 月 6 日 1.1.0 - - 1.2.0-alpha01

依存関係の宣言

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-alpha01"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha01"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha01"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha01")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha01")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha01")
}

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

フィードバック

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

新しい問題を報告する

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

バージョン 1.2

バージョン 1.2.0-alpha01

2024 年 3 月 6 日

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

新機能

  • ProtoLayout Arc 要素に、ArcDirectionClockwiseCounterclockwiseNormal)を追加できるようになりました。この動作を ArcArcLineArcText に追加すると、RTL レイアウトでの動作が修正されます。(I90699
  • EdgeContentLayout が新しい setResponsiveContentInsetEnabled セッターで更新され、UX ガイドラインとの整合が容易になり、メインのラベルが一番上に固定され、レスポンシブ インセットでタイルの整合性が向上しました。(I60175
  • このレイアウトのプライマリ ラベル、セカンダリ ラベル、ボトムチップにレスポンシブ インセットを追加する PrimaryLayout.setResponsiveContentInsetEnabled を追加し、コンテンツが画面の端からはみ出ないようにしました。(I0c457
  • 小さいコンポーネントとして使用できるように、CircularProgressIndicator から外側のマージンを削除するメソッドを追加しました。(I55c06

API の変更

  • タイル レンダラで、すべてのテキスト要素のフォント パディングがデフォルトで除外されるようになりました。このオプションは除外されます。(I3e300

バグの修正

  • Text で省略サイズ、文字間隔、中央揃えをすべて使用した場合に発生するテキストの配置の問題を修正しました。(I716c7
  • skia 円弧の描画の問題の回避策を追加しました。(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-rc01

2024 年 1 月 24 日

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

バグの修正

  • アップデートを有効にした直後に PlatformTimeUpdateNotifierImpl が作動します。(I77145
  • RTL レイアウトの CircularProgressIndicator を修正しました。今後は、すべてのケースで時計回りになります。(I95ee3
  • skia 円弧の描画の問題の回避策を追加しました。(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 は、SweepGradientBrush を追加し、既存の StrokeCapShadow を追加することで、360 度を超える長さをより適切に表現できるようにキャップに影を持たせることで、グラデーションをサポートするようになりました。
  • DynamicInstant は、ゾーン日時形式をサポートしています。DynamicInstantDynamicDuration は、状態またはプラットフォームのデータ型として使用できます。
  • テキストサイズの自動サイズ調整機能で、複数のサイズを 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
  • 指定しない場合、RoundMode はデフォルトで FloatToInt32NodeFloor になります。指定された 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 が非推奨になりました。同様の動作で新しい API TEXT_OVERFLOW_ELLIPSIZE を使用してください。(I822d8
  • 他のマテリアル コンポーネントや Compose の取り組みと同様、すべてのテキスト要素でフォントのパディングをデフォルトでオフにしました。また、AndroidTextStyle と関連するセッターが公開 API から削除されました。(I79094Ib0b03I32959Iaf7d5Ifa298I0a4aeIda9d3
  • Modifier.hiddenModifier.visible に置き換えられました。(I56902
  • FontStyle#setSizesSpProp 引数の代わりに 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
  • DynamicInstantDynamicDuration は、状態またはプラットフォームのデータ型として使用できます。(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 については、こちらをご覧ください

新機能

  • API に ArcLine StrokeCap Shadow フィールドを追加しました。(I830ec
  • 拡張する Spacer の幅と高さを指定できるように API を拡張しました。(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 が導入されています。たとえば、タイル ライブラリはこれらの API を使用して、プラットフォーム データ バインディング(タイルデータを迅速に更新するため)とアニメーションをサポートします。

バージョン 1.0.0-rc01

2023 年 7 月 26 日

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

  • Tiles から ProtoLayout に移行するには、こちらの手順を行ってください。

API の変更

  • 円弧要素から setLayoutConstraintForDynamicAnchorAngle メソッドと getLayoutConstraintForDynamicAnchorAngle メソッドを削除しました。これらのメソッドは誤って追加され、指定されたレイアウトには影響しません。(If7d01
  • ProtoLayout のレイアウトの最大深度を、ネストされた LayoutElements を 30 個に制限しました。(I8a74b

バグの修正

  • SpanTextDynamicColor が設定されているかどうかをスローするチェックを追加しました。(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 へのタイプセーフなマッピングを受け入れるようになりました。つまり、DynamicDataValueDynamicType で型付けされます。他の Android 定数の配置に合わせて、HEART_RATE_ACCURACY_X 定数を PlatformHealthSources のルートに移動しました。HEART_RATE_ACCURACY_X int 定数が、値の定数ではなく、DynamicHeartRateAccuracy.constant()DynamicHeartRateAccuracy.dynamicDataValueOf() で直接使用されるようになりました。(I82ff5
  • PlatformHealthSources.Constants クラスが誤ってインスタンス化できました。この問題は解決済みです。(Icb849
  • PlatformTimeUpdateNotifier#setReceiver は通知する Supplier 関数と Executor の代わりに Runnable を受け取るようになりました。(I9d938
  • PlatformTimeUpdateNotifier#setReceiver のパラメータの型を Callable から Supplier に変更しました。(I664bf
  • CompactChipTitleChip でアイコンを追加できるようになりました。(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
  • TimeGateway インターフェースが protolayout-expression-pipeline ライブラリで PlatformTimeUpdateNotifier に置き換えられ、時間データの更新頻度が高まりました。(I60869
  • PlatformDataProviderregister/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
  • DynamicBoolEqual オペレーションと 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 クラスを非表示にし、OnConditionMetTriggersetTrigger の名前を setCondition に変更しました。(Ibf629
  • パフォーマンスと互換性上の理由から、ProtoLayout レンダラは AnimatedVectorDrawable リソースの一部の機能をサポートしていません。サポートされている API セットを定義できるようになるまで、これらの API を試験運用版としてマークします。(Ic6daf
  • 1 日の距離、1 日のカロリー、1 日の階数の動的タイプを追加しました。プラットフォームの健全性に関するソースのキーが PlatformHealthSources.Keys にあるようになりました。(Ib7637
  • Easing.cubicBezier メソッドは CubicBezierEasing.Builder に代わるものです。これにより、EasingFunction クラスは削除され、そのクラスのイージング定数に Easing インターフェースから直接アクセスできるようになりました。さらに、setInfiniteRepeatableINFINITE_REPEATABLE_WITH_RESTARTINFINITE_REPEATABLE_WITH_REVERSE に置き換えられました。(Ib41e7
  • 心拍数と 1 日の歩数を提供する PlatformDataProvider を実装します。SensorGateway インターフェースが公開 API から削除されました。(I55b84
  • PlatformDataProvider を追加し、プロバイダのサポートされているキーが式パイプラインのノードで必要とされるときに PlatformDataProvider に登録するように StateStore を更新します。(Ib616a
  • SensorGateway は状態を維持しなくなったため、Closeable ではなくなりました。(I6b4f7
  • CircularProgressIndicator の進行状況について、DynamicFloatFloatProp を使用できるようにします。これは、バージョン 1.2 をサポートするレンダラでサポートされています。古いレンダラは、指定された場合は staticValue にフォールバックし、指定されていない場合は 0 にフォールバックします。(I0d91b
  • MultiButtonLayout 定数が LayoutDefaults.MultiButtonLayoutDefaults クラスにリファクタリングされ、レイアウト内のボタンの数に応じたボタンサイズの定数が含まれるようになりました。(I13973
  • マテリアル テキストでの StringPropDynamicString の使用をサポート。これは、バージョン 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
  • ArcLineStrokeCap サポートを追加しました。(I94951
  • 条件付きインスタント操作のサポートを追加しました。(I489a7
  • Conditional Duration 演算のサポートを追加しました。(Iab469
  • 秒から期間を作成するためのサポートを追加しました。(Ib5fa1

API の変更

  • enable/disablePlatformSource 個のメソッドが DynamicTypeEvaluator から削除されました。呼び出し元は更新の責任を負います。(I78c6d
  • バインドされるデータ型のサイズの上限を許可。(Ie2966
  • protolayout-material に動的コンテンツの説明のサポートを追加しました。(I62c8e
  • AnimationParameters で、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
  • DynamicColoronCondition オペレーションをサポートするようになりました。(I10927

API の変更

  • リバース アニメーションのカスタム再生時間をサポートしました。(I3251f
  • SemanticDescription 修飾子を追加しました。また、ContentDescription はバインドできません。(I3f1d
  • DynamicBool.isFalse() メソッドが DynamicBool.negate() に置き換えられ、DynamicBool.isTrue() が削除されました。さらに、NaN の DynamicFloat 値を使用し、DynamicInt32DynamicFloat に絞り込むと、無効な動的な結果が出力されるようになりました。(I6ac1e
  • Int フォーマッタと float フォーマッタで、ビルダー パターンが使用されるようになりました。(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 については、こちらをご覧ください。

新機能

  • StringProp に動的な値のサポートを追加しました。(I04342
  • バインド可能なレイアウト要素をマークしました。(Ia110b

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 の変更

  • forwardRepeatDelayMillisreverseRepeatDelayMillisRepeatable に追加しました。また、AnimationSpecdelayMillis の名前を startDelayMillis に変更しました(Ifb266
  • DynamicTypeEvaluator.bind メソッドがエグゼキュータを受け入れるようになりました。(I346ab
  • 動的型がバインドされた後に評価をトリガーする startEvaluation メソッドを BoundDynamicType に追加しました。(I19908

バグの修正

  • Animator オブジェクトは、単一の要素の後続のアニメーションで再利用されます。(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
  • OnLoadOnConditionalMet のトリガーを追加しました。これらを使用して、トリガーをサポートするアニメーションを開始できます。
  • 拡張サイズ用のレイアウトの太さと、ラップされたサイズの最小サイズを追加しました。
  • 再生時間タイプとインスタント ダイナミック タイプを追加しました。これらは、動的な式で時刻または期間を表すために使用できます。
  • レイアウト リソースとして AnimatedVectorDrawableSeekableAnimatedVectorDrawable のサポートを追加しました。

API の変更

  • センサーデータには API 29 以降が必要です。(I8099e
  • launchAction ヘルパー メソッドを 2 つ追加しました(アクティビティを起動するためのメソッド)。

バグの修正

  • タイル アニメーションで 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 型(DynamicStringDynamicFloat など)について評価する(および更新された値を受け取る)ことができます。
  • アニメーションを(エバリュエータによって無効化されているか、実行中のアニメーションの上限に達したために)再生できない場合は、アニメーション化可能なノードに設定された静的な値が、アニメーションの置換に使用されます。

バージョン 1.0.0-alpha02

2023 年 1 月 25 日

androidx.wear.protolayout:protolayout:1.0.0-alpha02androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02androidx.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-alpha01androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • このリリースでは、動的変数から式を作成するための新しいライブラリ「ProtoLayout Expression」が導入されました。