wear protolayout

  
このライブラリを使用すると、リモート サーフェスでレンダリング/評価される UI レイアウトと非 UI 式のセットを定義できます。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
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 フォントに対応できるようになりました。
  • 追加の修飾子のサポート: <ph type="x-smartling-placeholder">
      </ph>
    • アニメーションの有無にかかわらず、移動、回転、スケーリングを行う変換修飾子。
    • 角の丸みごとに異なる値(水平と垂直)を指定する。
  • クリック可能な修飾子を使用する要素のタップ可能領域を 48dp × 48dp 以上になるように拡張することで、すべてのタップ ターゲットのユーザー補助機能を改善しました。
  • setResponsiveContentInsetEnabled を追加して PrimaryLayoutEdgeContentLayout を改善し、さまざまな画面サイズにおけるこれらのレイアウトのレスポンシブ動作をサポートし、タイルの一貫性を改善しました。
  • Android 14 の非線形フォント スケーリングにおけるマテリアル テキストのスケーリングと非スケーリングの改善。
  • すべての円弧要素での RTL レイアウト方向のサポートを改善しました。

その他の変更

バージョン 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 が更新され、以下のフォントのサポートが追加されました。 <ph type="x-smartling-placeholder">
      </ph>
    • さまざまなフォント バリエーションの設定(FontSetting.weightFontSetting.width など)を設定する
    • すべての数字に同じ幅を設定 - 表形式の数字(FontSetting.tnum フォント機能の設定)
    • 使用するフォント ファミリー名を指定することで、今後の Flex Fonts をサポートするようにフォント選択 API が改善されました。
  • Corner 修飾子を拡張し、各 CornerRadius に個別の水平方向と垂直方向の値を指定して指定できるようにし、角が非対称の要素を作成できるようにしました。
  • LayoutElement の平行移動、回転、スケーリングを提供する新しい Transformation 修飾子を追加しました。これらの変換は、動的な値を使用してアニメーション化できます。
  • さまざまなレイアウト方向(LTR、RTL など)でのサポートを改善するために、すべての円弧要素(ArcArcLineArcText)に ClockwiseCounterClockwiseNormal オプションを備えた setArcDirection を追加しました。
  • Clickable 修飾子を使用する要素のタップ可能領域を 48dp × 48dp 以上になるように拡張することで、すべてのタップ ターゲットのユーザー補助機能を改善しました。
  • setResponsiveContentInsetEnabled を追加して PrimaryLayoutEdgeContentLayout を改善し、さまざまな画面サイズにおけるこれらのレイアウトのレスポンシブ動作をサポートし、タイルの一貫性を改善しました。簡単な修正でこれらの 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 を拡張して以下を含む: <ph type="x-smartling-placeholder">
      </ph>
    • 表形式のフォント設定なども行うことができます。(If12b7)。
    • フォント バリエーションの設定(可変フォントにカスタムの幅を設定するなど)。(I2b36d)。
  • 使用するフォント ファミリーの順序リストを指定できるように、フォント ファミリー API を FontStyle に追加しました。(Iba9f5)。
  • マテリアルの LayoutDefaults のコンテンツとセカンダリ ラベルの間のスペースの高さの定数の名前を変更しました。当初は「エッジ コンテンツ」の接頭辞でしたが、PrimaryLayoutEdgeContentLayout の両方に適用できるため、より汎用的になりました。(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 要素に、ArcDirectionClockwiseCounterclockwise、または Normal)を追加するオプションが追加されました。この動作を ArcArcLine、または 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-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 で、BrushSweepGradient を追加してグラデーションをサポートするようになりました。また、既存の 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)。
  • 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 のサポートが終了しました。よく似た動作の新しい 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 については、こちらをご覧ください

新機能

  • 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)。

バグの修正

  • DynamicColorSpanText に設定されている場合にスローするチェックを追加しました。(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)。
  • 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
  • protolayout-expression-pipeline ライブラリの TimeGateway インターフェースが 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 は試験運用版としてマークされています。(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)。
  • 条件付き期間のオペレーションのサポートを追加しました。(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)。
  • DynamicColoronCondition オペレーションがサポートされるようになりました。(I10927)。

API の変更

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

新機能

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

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 型(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」が導入されました。