wear protolayout

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

依存関係の宣言

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.4.1"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.4.1"

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

Kotlin

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

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

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

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

フィードバック

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

新しい問題を報告する

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

バージョン 1.4

バージョン 1.4.1

2026 年 7 月 1 日

androidx.wear.protolayout:protolayout-*:1.4.1 がリリースされました。バージョン 1.4.1 にはこれらの commit が含まれています。

脆弱性とセキュリティに関する修正

  • 画像の 2048px ディメンションの上限と 20MB の生サイズの上限を適用して、メモリの枯渇を防ぎます。
  • レイアウトの深さのチェックを強制: 指紋の最適化中に深いレイアウトで深さの強制をスキップできるバグを修正しました。
  • DashedArcLine の上限のないギャップ パラメータによって発生する配列境界例外/クラッシュを防ぎました。
  • キャッチされない IllegalArgumentExceptions を、式パイプラインでのより安全なエラー ロギングとノードの無効化に置き換えました。
  • 形式が正しくない画像 URI を処理する際にキャッチされない NullPointerException を修正しました。

バージョン 1.4.0

2026 年 3 月 25 日

androidx.wear.protolayout:protolayout-*:1.4.0 がリリースされました。バージョン 1.4.0 にはこれらのコミットが含まれています。

1.3.0 以降の重要な変更:

新機能

  • Wear ProtoLayout 1.4.0-beta01 リリースでは、ライブラリのこのリリースは機能が完成し、API がロックされていることが表明されています(試験運用版とマークされている場合を除く)。Wear ProtoLayout 1.4 には、次の新機能と API が含まれています。
    • インライン画像リソースとパフォーマンスの改善: ImageResource をレイアウト自体に直接インライン化できる、改善されたリソース処理のコンセプトを導入しました。
    • Material3TileService: タイルを作成するための新しい Kotlin フレンドリーなサービスを導入しました。タイル レイアウトとリソースの両方を返す単一の中断関数を提供することで、開発を簡素化します。MaterialScope と ProtoLayoutScope を自動的に管理し、リソース処理を改善して、高速なタイル読み込みでパフォーマンスを向上させます。
    • タイル プレビューの更新: タイル プレビューのツールが更新され、新しい ProtoLayoutScope 自動リソース処理がサポートされるようになりました。これにより、プレビューでインライン リソースが正しく反映されるようになり、追加の構成は不要になります。
    • Kotlin DSL の多くの改善: Kotlin ユーザーのデベロッパー エクスペリエンスを向上させるため、Tile と、タイルをビルドするために必要な他のすべての API(Timeline など)用の専用 Kotlin ヘルパーを追加しました。
    • 動的サービス切り替え: METADATA_GROUP_KEY を導入し、デベロッパーがマニフェストで複数の TileService インスタンスをグループ化できるようにしました。これにより、新しい OS バージョンで同じタイルを表す異なるサービス間の動的な切り替えが可能になります。
    • 更新のタイル ID: デベロッパーは更新リクエストで特定の tileId を指定できるようになり、どのタイル インスタンスを更新するかをより細かく制御できるようになりました。
    • コンパイル SDK の引き上げ: 新しい Material3TileService と高度なリソース処理をサポートするため、compileSdk バージョンの要件が 35 に引き上げられました。
    • ANR の防止: タイル更新リクエスト中のバインド解除ロジックをバックグラウンド スレッドに移動し、「アプリケーション応答なし」(ANR)エラーを防止しました。
    • 心拍数データの適切な RequiresPermission アノテーション: API 36 以降では、PlatformHealthSources.heartRateBpm または PlatformHealthSources.heartRateAccuracy を呼び出すには、呼び出し元のアプリに android.health.connect.HealthPermissions.READ_HEART_RATE 権限が付与されている必要があります。

バージョン 1.4.0-rc02

2026 年 3 月 11 日

androidx.wear.protolayout:protolayout-*:1.4.0-rc02 がリリースされました。バージョン 1.4.0-rc02 にはこれらの commit が含まれています。

API の変更

  • API 36 以降では、PlatformHealthSources.heartRateBpm と PlatformHealthSources.heartRateAccuracy を使用した ProtoLayout 式ライブラリなどを使用して心拍数データにアクセスするには、呼び出し元のアプリに android.health.connect.HealthPermissions.READ_HEART_RATE 権限を付与する必要があります。

バージョン 1.4.0-rc01

2026 年 2 月 25 日

androidx.wear.protolayout:protolayout-*:1.4.0-rc01 がリリースされました。以前のリリースからの変更はありません。バージョン 1.4.0-rc01 にはこれらの commit が含まれています。

バージョン 1.4.0-beta01

2026 年 2 月 11 日

androidx.wear.protolayout:protolayout-*:1.4.0-beta01 がリリースされました。バージョン 1.4.0-beta01 にはこれらの commit が含まれています。

新機能

Wear ProtoLayout 1.4.0-beta01 リリースでは、ライブラリのこのリリースは機能が完成し、API がロックされていることが表明されています(試験運用版とマークされている場合を除く)。Wear ProtoLayout 1.4 には、次の新機能と API が含まれています。

  • インライン画像リソースとパフォーマンスの改善: ImageResource をレイアウト自体に直接インライン化できる、改善されたリソース処理のコンセプトを導入しました。
    • これにより、onTileResourcesRequest でリソースを手動でマッピングしてそのメソッドをオーバーライドする必要がなくなり、開発が大幅に簡素化されます。
    • これにより、onTileResourcesRequest メソッドのみを実装すればよいため、バインダ呼び出しが 2 回不要になり、タイルの読み込み時間が大幅に短縮されます。
    • すべての Image API は、この概念をサポートするようになりました。この概念をサポートするために、この概念を担当する ProtoLayoutScope を受け入れる新しいメソッドが提供されています。
  • Material3 のスコープとリソースの自動登録: インライン画像リソースで Material3 の MaterialScope のコンセプトをサポートするために materialScopeWithResources を追加しました。このスコープはリソースの自動登録を処理し、コンポーネントの使用を効率化するための画像用の新しいヘルパー メソッド(backgroundImage、avatarImage、icon)を含んでいます。

    • 簡略化されたコード スニペット:

      materialScopeWithResources(
      context = context,
      deviceConfiguration = deviceParameters,
          protoLayoutScope = protoLayoutScope) {
        primaryLayout(
        // layout setup here
      iconContent = { **icon**(
      **imageResource**(
      **androidImageResource**(R.drawable.myIcon)))})
      //…
      }
      
  • PendingIntent のサポート: タイルで PendingIntent のサポートを追加しました。PendingIntent クリック可能要素はフォールバック アクション(LoadAction または LaunchAction)を受け入れます。これにより、ProtoLayout レンダラが PendingIntent をサポートしていない古いバージョンである場合でも、有効なフォールバック アクションが自動的に使用されます。

  • Kotlin DSL の多くの改善:

    • Kotlin ユーザーのデベロッパー エクスペリエンスを向上させるため、Image とすべての ImageResources 型に特化した Kotlin ヘルパーを追加しました。
    • Box、Row、Column などのコンテナタイプのヘルパーを追加し、最新の Android 開発に準拠するようにしました。
    • フェードイン アニメーション用の新しい Kotlin Transformation 修飾子とヘルパー メソッドが追加されました。
  • Lottie アニメーションのカスタマイズ: AndroidLottieResourceByResId に、プロパティを介して Lottie アニメーションをカスタマイズできるようにする API を追加しました。また、指定された色でスロット ID に基づいてスロットをテーマ設定するプロパティを作成するための具体的なサポートと API を追加しました。

  • アンビエント モードの認識: 新しいプラットフォーム イベント ソース isInAmbientMode を追加しました。これにより、デバイスがアンビエント モードかどうかによってレイアウトが反応し、式を更新できるようになります。

API の変更

  • Material3 画像ヘルパー: ProtoLayoutScope と新しいインライン リソース処理を利用する新しいオーバーロードを優先して、既存の Material3 画像ヘルパーを非推奨にしました。
  • MaterialScope の更新: MaterialScope 内の protoLayoutScope フィールドは、materialScopeWithResources で作成されたときに使いやすくなるように NonNull になりました。新しい hasProtoLayoutScope 関数が追加され、その存在を確認できるようになりました。また、MaterialScope は Context のパブリック フィールドも公開します。
  • セマンティクス見出しは、LayoutModifier の API として使用できます。
  • 円弧の方向のサポート ARC_DIRECTION_* 定数が、Arc/ArcLine/ArcText/DashedArcLine 要素で使用できるように公開されました。

バグの修正

  • リソースの比較: リソースタイプを比較するための hash メソッドと equals メソッドを改善して実装することで、パフォーマンスを最適化しました。
  • 単一スロットの textButton にデフォルトのコンテンツの説明を適用します。
  • レンダラ側で最大行数を調整する計算を修正。

バージョン 1.4.0-alpha05

2026 年 1 月 28 日

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

API の変更

  • 新しい Kotlin Transformation 修飾子が追加されました。(I195a7、b/397169191)

バグの修正

  • ステートフルな ProtoLayoutScope を TileService から削除することで、リソース処理の問題を修正しました。(I5dc0a、b/474614772)

バージョン 1.4.0-alpha04

2026 年 1 月 14 日

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

API の変更

  • ProtoLayoutScope を使用する新しいオーバーロードと、ImageResource をレイアウト自体に直接インライン化できるリソース処理のコンセプトを優先して、Material3 画像ヘルパーを非推奨としました。これにより、リソース マッピングに onTileResourcesRequest メソッドを使用する必要がなくなります。快適にご利用いただくため、Wear タイル 1.6-alpha04 バージョンで追加された androidx.wear.tiles.Material3TileService と併用してください。(I8198c、b/440376391)

バージョン 1.4.0-alpha03

2025 年 12 月 17 日

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

バグの修正

  • リソース処理の改善とパフォーマンスの向上を目的とした 2 つのリソースタイプの比較は、最適化されたハッシュ メソッドと等価メソッドを使用して行われるようになりました。(82f21b2f)

バージョン 1.4.0-alpha02

2025 年 10 月 22 日

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

新機能

  • デバイスがアンビエント モードかどうかを記述する新しいプラットフォーム イベントソース(isInAmbientMode)を追加しました(Ief832)

API の変更

  • PendingIntent clickable で、ProtoLayout レンダラで PendingIntent がサポートされていない場合に使用するフォールバック アクション(LoadAction/LaunchAction)が受け入れられるようになりました。Renderer のバージョンが PendingIntent をサポートするバージョンよりも低い場合、フォールバック アクションが自動的に選択され、レイアウトに配置されます。(I6eee2、b/450259727)
  • MaterialScope 内の protoLayoutScope フィールドが NonNull になり、materialScopeWithResources を介して MaterialScope が作成される際の使いやすさが向上しました。また、その存在を確認する hasProtoLayoutScope 関数もあります。(I1858f、b/450067019)

バージョン 1.4.0-alpha01

2025 年 9 月 24 日

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

新機能

  • タイルが表示されるときに要素をフェードインさせる LayoutModifier のヘルパー メソッドを追加しました。(I38531、b/390345969)
  • 自動リソース登録も行う M3 MaterialScope のコンセプトをサポートするために materialScopeWithResources を追加しました。その中で、画像(backgroundImage、avatarImage、アイコン)用の新しいヘルパー メソッドを追加しました。これを使用すると、onTileResourceRequest でリソースを手動で登録する必要がなくなります。(I525bd、b/428692714)
  • ProtoLayoutScope と自動リソース登録で使用するための Image と ImageResources の ProtoLayout Kotlin ヘルパー。(Iada82、b/430584304)
  • 1 つの Lottie アニメーションのカスタマイズで許可される Lottie プロパティの数を取得するゲッターを追加しました。(I73733、b/436532706)
  • AndroidLottieResourceByResId に、プロパティを介して Lottie アニメーションをカスタマイズできるようにする API を追加し、スロット ID を持つテーマ設定スロットのプロパティを指定した色で作成する API を追加しました。(I301b3、b/423581481)
  • クリック アクションとして PendingIntent を受け入れるためのプロバイダ API を追加しました(I01978、b/433802488)
  • Image.Builder - setImageResource に新しい API を追加し、onTileResourcesRequest のマッピングに登録する必要なく、onTileRequest の Image にリソース オブジェクトを直接設定できるようにしました。(Ifa69a、b/428693523)
  • Tiles でのリソース処理の改善に備えて、ProtoLayoutScope のコンセプトを追加しました。(I132ce、b/428692423)
  • ProtoLayout Material3 MaterialScope が Context フィールドを公開するようになり、スコープ内のメソッドで、渡す必要なく使用できるようになりました。(I0e5cc、b/414559956)
  • 見出しのセマンティック API を公開(I75299、b/413653475)
  • Arc/ArcLine/ArcText/DashedArcLine で使用するために ARC_DIRECTION_* 定数を公開します。(I83959、b/427556439)

API の変更

  • onTileResourcesRequest のオーバーライドを不要にする Image.Builder(ProtoLayoutScope) API と Image.Builder.setImageResource API で利用可能な新しい自動リソース登録 API を優先して、Image.Builder() メソッドと Image.Builder.setResourceId メソッドを非推奨にしました。(I7bfe6、b/432758526)
  • ProtoLayoutScope を作成するための API を制限付きから公開に移動。ただし、システムですでに処理されている通話には使用しないでください。(I1d8e8、b/432758251)

バグの修正

  • ProtoTiles で PendingIntent をサポートするための実装を追加しました(I38167、b/430610429)
  • invalidateLayout メソッドを追加します。(Ief898)
  • デフォルトの minSdk を API 21 から API 23 に移行(Ibdfca、b/380448311、b/435705964、b/435705223)
  • ImageResource に hashCode メソッドと equals メソッドが追加されました。(I650ee、b/428692423、b/428693523)
  • 新しい proto メッセージ PendingIntentAction とそのラッパー ビルダーを追加(Ie2aca、b/427643502)
  • ZoneId インスタンスの作成頻度を減らします。(I284d3)
  • 単一スロット textButton にデフォルトのコンテンツの説明を適用します。(I0dc8a、b/415001534)
  • レンダラ側で最大行数を調整する計算を修正しました。(I933bc、b/414353620)

バージョン 1.3

バージョン 1.3.0

2025 年 6 月 4 日

androidx.wear.protolayout:protolayout-*:1.3.0 がリリースされました。バージョン 1.3.0 にはこれらの commit が含まれています。

1.2.0 以降の重要な変更

  • マテリアル デザイン 3 がスマートウォッチに導入され、丸型ディスプレイに最適化されたコンポーネントとレイアウトが、小画面から大画面まで適切にスケーリングされます。
    • これには、次のコンポーネントと機能用の Compose に似た API を備えた Kotlin 専用の protolayout-material3 ライブラリが含まれます。
    • システムから取得したダイナミック カラーのテーマと、色、シェイプ、タイポグラフィの最新の Material3 テーマを使用した文字盤
    • MaterialScope: すべてのデフォルトの意見を処理し、カスタマイズを容易にします
    • iconEdgeButton、textEdgeButton
    • iconButton、textButton、button、imageButton、avatarButton、compactButton
    • titleCard、appCard、graphicDataCard、iconDataCard、textDataCard
    • circularProgressIndicator、segmentedCircularProgressIndicator
    • primaryLayout、buttonGroup
    • すべてのコンポーネントは、任意の SDK レベルと ProtoLayout レンダラ バージョンで動作し、該当する場合は適切なフォールバックを提供します。
  • 基本 ProtoLayout 要素用の Kotlin フレンドリーな Compose 風 API
    • LayoutModifier。ほとんどの修飾子をチェーン関数(padding、contentDescription(clearSemantics を含む)、background、clip、opacity など)として追加可能。既存の Modifiers オブジェクトに変換可能
    • 動的フィールドと制約の使用をより簡単にサポートする型としての LayoutColors と LayoutString
    • text、fontStyle
    • StateBuilder のマップのサポートの改善(DynamicDataMap や intAppDataKey などのファクトリ メソッドを含む)。これにより、AppDataKey オブジェクトの作成が容易になります。
  • Lottie アニメーションでは、アニメーションの開始タイミング(レイアウトの読み込み時やレイアウトの表示時など)に異なるトリガーを設定するオプションがサポートされています。
    • グラデーションのサポートの改善:
    • Brush の一部としての線形グラデーション API。Box や Spacer などの要素の Background 修飾子で使用できます。
    • 線形グラデーションとスイープ グラデーションに使用される ColorStop での動的な色の値の許可
    • 円弧オブジェクトの既存のスイープ グラデーションで、ダイナミック カラーと開始角度と終了角度がサポートされるようになりました
  • protolayout-expression のプラットフォーム データ バインディング。レイアウトの可視性が変更されるたびに情報を受け取ります。たとえば、タイルをスワイプしている間、レイアウトの特定の部分を非表示にするために使用できます。
  • テスト ライブラリ - protolayout-testing - が追加され、ProtoLayout 要素の単体テスト カバレッジが容易になりました
  • 既存の ArcLine とは異なり、線に破線を使用できるように、機能セットが改善された新しい要素 DashedArcLine
  • ArcSpacer の長さの単位を度ではなく DP に設定するサポート
  • 一部のフォントに適用可能な丸み FontSetting 軸を追加

バージョン 1.3.0-rc01

2025 年 5 月 20 日

androidx.wear.protolayout:protolayout-*:1.3.0-rc01 がリリースされました。以前のリリースからの変更はありません。バージョン 1.3.0-rc01 には、これらの commit が含まれています。

バージョン 1.3.0-beta02

2025 年 5 月 7 日

androidx.wear.protolayout:protolayout-*:1.3.0-beta02 がリリースされました。バージョン 1.3.0-beta02 には、これらの commit が含まれています。

バグの修正

  • API 36 以降に適用されるタイポグラフィの設計値に重要な改善を加えました。これは、API 36 以降ではすべてのタイルがシステム フォントになるため、この変更によりタイル カルーセルの整合性が向上するためです。(If316f)
  • Text、Spacer、ArcLine、DashedArcLine の各ビルダーは、動的値の layoutConstraints が設定されていない場合でも例外をスローしません。古いレンダラでは layoutConstraints の設定がまだ必要であり、設定されていない動的な値は無視されることに注意してください。(Ic52e8)
  • レイアウト要素がコンテンツのセクションの見出しであることをユーザー補助の目的で示す見出しセマンティクス修飾子を追加し、primaryLayout のタイトル スロット内のテキストをデフォルトでユーザー補助の見出しとしてマークします。(Iae1fb)
  • primaryLayout の最終的な UX の調整。小さい画面でタイトル スロットとメインスロットの間のスペースが 6 dp から 4 dp に縮小されます。(I0e056)
  • デフォルトのコンテンツの説明を textEdgeButton に適用します。(Ifaf8b)
  • avatarButton の内側のパディングを微調整しました。(I0910b)

バージョン 1.3.0-beta01

2025 年 4 月 9 日

androidx.wear.protolayout:protolayout-*:1.3.0-beta01 がリリースされました。バージョン 1.3.0-beta01 にはこれらの commit が含まれています。

新機能

Wear ProtoLayout 1.3.0-beta01 リリースでは、ライブラリのこのリリースは機能が完成し、API がロックされていることが表明されました(試験運用版としてマークされている場合を除く)。Wear ProtoLayout 1.3 には、次の新機能と API が含まれています。

  • マテリアル デザイン 3 がスマートウォッチに導入され、丸型ディスプレイに最適化されたコンポーネントとレイアウトが、小画面から大画面まで適切にスケーリングされます。
    • これには、次のコンポーネントと機能用の Compose に似た API を備えた Kotlin 専用の protolayout-material3 ライブラリが含まれます。
    • システムから取得したダイナミック カラーのテーマと、色、シェイプ、タイポグラフィの最新の Material3 テーマを使用した文字盤
    • MaterialScope: すべてのデフォルトの意見を処理し、カスタマイズを容易にします
    • iconEdgeButton、textEdgeButton
    • iconButton、textButton、button、imageButton、avatarButton、compactButton
    • titleCard、appCard、graphicDataCard、iconDataCard、textDataCard
    • circularProgressIndicator、segmentedCircularProgressIndicator
    • primaryLayout、buttonGroup
    • すべてのコンポーネントは、任意の SDK レベルと ProtoLayout Renderer バージョンで動作し、該当する場合は適切なフォールバックを提供します。
  • 基本 ProtoLayout 要素用の Kotlin フレンドリーな Compose 風 API
    • LayoutModifier。ほとんどの修飾子をチェーン関数(padding、contentDescription(clearSemantics を含む)、background、clip、opacity など)として追加可能。既存の Modifiers オブジェクトに変換可能
    • 動的フィールドと制約の使用をより簡単にサポートする型としての LayoutColors と LayoutString
    • text、fontStyle
    • StateBuilder のマップのサポートの改善(DynamicDataMap や intAppDataKey などのファクトリ メソッドを含む)。これにより、AppDataKey オブジェクトの作成が容易になります。
  • Lottie アニメーションでは、アニメーションの開始タイミング(レイアウトの読み込み時やレイアウトの表示時など)に異なるトリガーを設定するオプションがサポートされています。
    • グラデーションのサポートの改善:
    • Brush の一部としての線形グラデーション API。Box や Spacer などの要素の Background 修飾子で使用できます。
    • 線形グラデーションとスイープ グラデーションに使用される ColorStop での動的な色の値の許可
    • 円弧オブジェクトの既存のスイープ グラデーションで、ダイナミック カラーと開始角度と終了角度がサポートされるようになりました
  • protolayout-expression のプラットフォーム データ バインディング。レイアウトの可視性が変更されるたびに情報を受け取ります。たとえば、タイルをスワイプしている間、レイアウトの特定の部分を非表示にするために使用できます。
  • テスト ライブラリ - protolayout-testing - が追加され、ProtoLayout 要素の単体テスト カバレッジが容易になりました
  • 既存の ArcLine とは異なり、線に破線を使用できるように、機能セットが改善された新しい要素 DashedArcLine
  • ArcSpacer の長さの単位を度ではなく DP に設定するサポート
  • 一部のフォントに適用可能な丸み FontSetting 軸を追加

バージョン 1.3.0-alpha10

2025 年 3 月 12 日

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

新機能

  • kotlin の Background Modifier に Brush のヘルパーを追加しました。(I995de)
  • マテリアル 3 タイルのコンポーネントを作成するデベロッパーの関数でより簡単に使用できるように、必須の Android Context フィールドが MaterialScope で公開されました。(I7df73)

API の変更

  • API platformVisibilityStatus の名前を PlatformEventSources.isLayoutVisible に変更し、新しい試験運用版 API PlatformEventSources.isLayoutUpdatePending を追加します。(Ie1e04)

バグの修正

  • primaryLayout のマージンが適切に切り上げられるようになりました。これにより、一部のレイアウトではメインスロットのスペースが最大 2 dp 減少する可能性があります。(I8f5d3)
  • ProtoLayout Material3 コンポーネントのデフォルトのダイナミック カラーテーマを明確化しました。(Iff5f3)
  • Typography.NUMERAL_* のタイポグラフィは、デフォルトで表形式/等幅ではなくなりました。テキストをアニメーション化する場合は、FontSetting.tabularNum() 設定を追加することを強くおすすめします。その他の場合は、この等幅フォント オプションは必要ありません。このオプションを使用しないと、使用できる文字数が増えます。(Id3cd9)
  • ProtoLayout Material3 コンポーネントのデフォルトのダイナミック カラーテーマを明確化しました。(I9d831)

バージョン 1.3.0-alpha09

2025 年 2 月 26 日

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

新機能

  • enterTransition と exitTransition の試験運用版の修飾子を追加しました(I4a4d6)
  • レイアウト全体の表示ステータスが変更されるたびに受け取るためのプラットフォーム バインディングを追加しました。(I250c3)
  • 動的な値を評価するために、テストアプリの状態とプラットフォーム データを LayoutElementAssertionsProvider に挿入できるようにします。(Ib5fcb)
  • プロトレイアウト テスト ライブラリにコーナー フィルタを追加(Ie2361)
  • ButtonColors、CardColors、ProgressIndicatorColors でコピー メソッドがサポートされるようになりました。一部のパラメータは必要に応じてオーバーライドできます。(Ie2054)

API の変更

  • テスト ライブラリに動的データ バインディングのサポートを追加(Ib98de)
  • オーバーレイを削除して、backgroundImage 関数と併用した場合の imageButton を修正しました。また、backgroundImage 関数でオーバーレイの色に null を指定できるようにします。これは、オーバーレイが適用されないことを意味します。(Ibec3c)

バグの修正

  • デフォルトの hasValueOfType メソッドを変更して、IllegalArgumentException ではなく UnsupportedOperationException をスローするようにしました。(Ia36c3)
  • 最新の仕様を反映するように、デフォルトのカラー トークンの値が更新されました。(I75d44)
  • AndroidX タイル レンダラの円弧線に表示されるエイリアシングの問題を修正しました。(I88190)

バージョン 1.3.0-alpha08

2025 年 2 月 12 日

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

新機能

  • Material3 テキスト用の FontSetting リスト パラメータを追加します。(Ic102d)
  • DynamicDataMap クラスを追加しました。StateBuilder がこのクラスをサポートするようになり、アプリの状態に対する型安全な Kotlin API が改善されました(I012ba)
  • AppDataKey オブジェクトを簡単に作成できるように、intAppDataKey などのファクトリ メソッドを追加しました(Icea2a)
  • DynamicDataValue に、hasInt/hasColor/.... メソッドに加えて hasValueOfType(Class<?>) メソッドが追加されました(I4f7a6)
  • 優先度の高いエラーや緊急の操作(安全に関するアラートなど)のために、Material3 ProtoLayout ColorScheme に errorDim を追加しました。(Ia17bb)
  • グローバルなモーション軽減設定にアクセスする際にクラッシュが発生するのを防ぐガードを追加しました。このクラッシュは、その設定が提供されていない一部のプラットフォームで発生していました。(I01e2c)

API の変更

  • addKeyToValueMapping の名前が addToStateMap に変更され、冗長だった DynamicDataMap.put メソッドが削除されました。(Ibe9dd)
  • Material3 Typography が、この軸をサポートするシステム フォントの丸み変数軸をサポートするようになりました。ProtoLayout FontSetting は、この軸をサポートするフォントの丸み軸をサポートします。(I33eb5)
  • Material3 テキスト メソッドの multilineAlignment の名前を alignment に変更しました。(I2b66b)
  • 円形進捗インジケーターを Box タイプに更新し、constructGraphic の mainContent も Box タイプに指定(I5a3dc)
  • グラフでの円形進行状況インジケーターの使用のサポートを改善しました(I039db)

バグの修正

  • ColorStop での動的な値と、SweepGradient での開始角度と終了角度を許可します。(I0146d)
  • ドキュメントの修正。(I4a63a)
  • weight 拡張ディメンションがサポートされていない場合(API 33 未満など)にフォールバックを提供するように、マテリアル 3 コンポーネント(graphicCard と avatarButton)を更新しました。レンダラで TEXT_OVERFLOW_ELLIPSIZE がサポートされていない場合に TEXT_OVERFLOW_ELLIPSIZE_END にフォールバックするようにテキスト コンポーネントを更新しました。(I19e2c)
  • PrimaryLayoutMargins のドキュメントを更新しました。(Ibaf7b)

バージョン 1.3.0-alpha07

2025 年 1 月 29 日

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

新機能

  • Lottie アニメーションのさまざまなトリガーを設定する API オプションを追加しました。また、レイアウトが表示されたときにトリガーされる API を追加しました。(I8272d)
  • border、visibility、opacity の修飾子を追加しました。(I6d3dd)
  • ProtoLayout Material3 コンポーネントにアバター ボタンを追加しました。(Idb5ae)
  • Material3 primaryLayout で、マージン(サイドと場合によっては下部)をカスタマイズできるようになりました。(Ib22f6)
  • 円形の進行状況インジケーターのセグメント化されたバリエーションを追加しました。(I6a648)
  • ProtoLayout Material3 にコンパクト ボタン コンポーネントを追加しました。(Ia3c5c)
  • ProtoLayout Material3 にピル型のボタンと画像ボタンのコンポーネントを追加しました。(Ifb88a)

API の変更

  • 想定される動作をより適切に反映するため、LayoutModfier.foldIn を foldRight に変更しました(Idf242)
  • VisibleOnce トリガーが試験運用版になりました。(Ib2d26)
  • グラフィック ライブラリの代替手段があるため、公開 API から withOpacity を削除しました。(I030c2)
  • LayoutString.kt と LayoutColor.kt の最上位メソッドの名前を Java に適した名前に変更しました。(I7aff0)
  • Material3 で ProtoLayout 以外のタイポグラフィを削除しました。(Idd9ae)
  • Material3 の *Colors クラスのフィールドに接尾辞 Color を追加します。(I2d114)

バグの修正

  • 非対称の角のサポートがない古いレンダラ用の EdgeButton フォールバック実装を追加しました。(I63364)
  • 古いレンダラで円形の進行状況インジケーターのフォールバック実装を追加します。(I0f134)

バージョン 1.3.0-alpha06

2025 年 1 月 15 日

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

新機能

  • 静的と動的の両方のカラータイプをサポートする LayoutColor(I4c89b)
  • ProtoLayout Material3 textButton コンポーネントを追加しました。(Id680d)
  • iconButton ProtoLayout Material3 コンポーネントを追加しました。(Ica3f0)
  • ProtoLayout Material3 ボタン コンテナ コンポーネントを追加しました。(I17a38)
  • Chainable セマンティック修飾子のサポートを protolayout-material3 に追加しました(I4af62)
  • ProtoLayout Material3 の単一セグメント CircularProgressIndicator を追加しました(I2c8a2)
  • padding、metadata 修飾子を追加しました(I8720a)
  • background、clip、clickable 修飾子を追加しました(I35478)
  • ブラシに LinearGradient を追加し、背景修飾子で使用できるようにします。(Ic4dea)
  • appCard と titleCard に小さいサイズを追加。(I91f98)
  • ProtoLayout Material3 graphicDataCard コンポーネントを追加しました。(I92be7)
  • ProtoLayout Material3 の iconDataCard コンポーネントと textDataCard コンポーネントを追加しました。(I4e1e4)
  • ProtoLayout Material3 appCard コンポーネントを追加しました。(Id4c57)
  • EdgeButtonColors を ButtonColors に抽象化します。(I83624)
  • ProtoLayout Material3 titleCard コンポーネントを追加しました。(I2dc72)

API の変更

  • ProtoLayout Material3 API が LayoutString を受け入れるようになり、静的テキストと動的テキストの両方をサポートするようになりました。(I9c24a)

バグの修正

  • DashedArcLine をインフレートするためのレンダラ実装を追加(I0c700)
  • ArcSpacer が dp の長さを取得できるようにするレンダラ変更。(I1437b)

バージョン 1.3.0-alpha05

2024 年 12 月 11 日

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

新機能

  • バインド可能なレイアウト文字列フィールドをサポートするために LayoutString を追加しました。(Ida650)
  • ProtoLayout Material3 カード コンテナ コンポーネントを追加しました。(Ic985a)

バグの修正

  • このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin を使用している場合、次のコンパイラ引数を使用して正しい使用法を適用する必要があります。-Xjspecify-annotations=strict(これは Kotlin コンパイラのバージョン 2.1.0 以降のデフォルトです)。(Id1f9b、b/326456246)

バージョン 1.3.0-alpha04

2024 年 11 月 13 日

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

新機能

  • Wear Compose と同様に、実際の Corner 値を保持するフィールドを持つクラスになるように、Material3 の形状を更新しました。(Ied8cd)
  • Wear Compose と同様に、ColorScheme のコンセプトを含むように Material3 の色を更新しました。(If645e)
  • テスト ライブラリに複数の一般的なマッチャーを追加します。(Ie5cec)

バージョン 1.3.0-alpha03

2024 年 10 月 30 日

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

新機能

  • テスト ライブラリに LayoutElementAssertionsProvider、LayoutElementAssertion、LayoutElementMatcher を追加しました(Id1110)

バージョン 1.3.0-alpha02

2024 年 10 月 16 日

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

新機能

  • マテリアル 3 ライブラリの初期バージョン。text、edgeButton、buttonGroup、primaryLayout コンポーネントが含まれます。

セキュリティに関する修正

  • この変更により、androidx は CVE-2024-7254 に対応するため、protobuf 4.28.2 に対してコンパイルされます。脆弱性のリスクに対処するため、androidx.wear.protolayout:protolayout-proto と androidx.wear.protolayout:protolayout-external-protobuf のバージョン 1.3.0-alpha01 への依存関係を 1.3.0-alpha02 にアップグレードします。

外部からの協力

バージョン 1.3.0-alpha01

2024 年 10 月 2 日

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

バグの修正

  • Roboto と Roboto Flex のフォント ファミリー名の利用可能性はデバイスによって異なることを明確にしました。(I193be)
  • AndroidX Tile レンダラで Roboto Flex フォント ファミリーを有効にしました。(I08e94)

バージョン 1.2

バージョン 1.2.1

2024 年 10 月 16 日

androidx.wear.protolayout:protolayout-*:1.2.1 がリリースされました。バージョン 1.2.1 にはこれらの commit が含まれています。

セキュリティに関する修正

  • この変更により、androidx は CVE-2024-7254 に対応するため、protobuf 4.28.2 に対してコンパイルされます。脆弱性のリスクに対処するため、androidx.wear.protolayout:protolayout-proto と androidx.wear.protolayout:protolayout-external-protobuf のバージョン 1.2.0 への依存関係を 1.2.1 にアップグレードします。

バージョン 1.2.0

2024 年 8 月 7 日

androidx.wear.protolayout:protolayout-*:1.2.0 がリリースされました。バージョン 1.2.0 には、これらの commit が含まれています。

1.1.0 以降の重要な変更

  • FontStyle が更新され、可変軸のフォント サポートが追加され、今後の Flex フォントをサポートするためのフォント選択 API が改善されました。
  • 追加の修飾子のサポート:
    • アニメーションの有無にかかわらず、変換、回転、スケーリングを提供する変換修飾子。
    • 各角の半径に異なる値(水平方向と垂直方向)を指定する。
  • Clickable 修飾子を使用する要素のタップ可能領域を 48dp × 48dp 以上に拡張することで、すべてのタッチ ターゲットのアクセシビリティを改善しました。
  • PrimaryLayout と EdgeContentLayout を改善し、setResponsiveContentInsetEnabled を追加して、さまざまな画面サイズでこれらのレイアウトのレスポンシブ動作をより適切にサポートし、タイルの整合性を改善しました。
  • Android 14 の非線形フォント スケーリングに対応するため、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 フォント機能設定)
    • 使用する優先フォント ファミリー名を指定することで、今後のフレックス フォントをサポートするようにフォント選択 API を改善しました。
  • Corner 修飾子を拡張し、各 CornerRadius を水平方向と垂直方向の別々の値で指定できるようにしました。これにより、非対称の角を持つ要素を構築できます。
  • LayoutElement の平行移動、回転、スケーリングを提供する新しい Transformation 修飾子を追加しました。これらの変換は、動的な値を使用してアニメーション化できます。
  • さまざまなレイアウト方向(LTR や RTL など)でのサポートを強化するため、すべての円弧要素(Arc、ArcLine、ArcText)に Clockwise、CounterClockwise、Normal オプション付きの setArcDirection を追加しました。
  • Clickable 修飾子を使用する要素のタップ可能領域を 48dp x 48dp 以上に拡張することで、すべてのタップ ターゲットのユーザー補助機能を改善しました。
  • setResponsiveContentInsetEnabled を追加して PrimaryLayout と EdgeContentLayout を改善し、さまざまな画面サイズでこれらのレイアウトのレスポンシブ動作をより適切にサポートし、タイルの一貫性を改善しました。これらの API の使用を提案するリンター警告と簡単な修正を追加しました。
  • Android 14 の非線形フォント スケーリングに対応するため、マテリアル Text のスケーリング/非スケーリングを改善しました。

API の変更

  • preferredFontFamilies API を使用しないことで暗黙的に指定されるため、デフォルトのフォント ファミリー名(DEFAULT_SYSTEM_FONT)が削除されました。(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 定数が、ビルダークラスではなく FontStyle に移動されました。(I06ced)
  • 範囲アノテーションを含めるように FontSetting.weight API と FontSetting.width API を更新し、重みのパラメータを 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 の変更

  • 非対称の角の API を追加しました。これにより、2 つの値で各角の半径を個別に指定できるようになりました。(Icbd69)
  • FontSetting API を拡張して、次のものを含めました。
    • フォントを表形式に設定するなど、フォント機能の設定。(If12b7)
    • バリアブル フォントのカスタム幅の設定などのフォント バリエーション設定。(I2b36d)
  • FontStyle にフォント ファミリー API を追加し、使用するフォント ファミリーの順序リストを指定できるようにしました。(Iba9f5)
  • 当初「Edge content」という接頭辞が付いていた、Material の 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 から削除されました。これは、ArcModifiers がその機能をサポートしていないためです(Ic0827)。
  • ArcDirectionProp ビルダーでコンストラクタの値が要求されるようになりました。(I76ada)
  • PlatformDataValues.Builder.putAll メソッドを使用すると、1 つの PlatformDataValue を別の PlatformDataValue に統合できます。(I50ba3)
  • Text#setIsScalable の名前が Text#setScalable に変更されました。(If920e)
  • Material Text では、スケーラブルなサイズ(ユーザーのフォントサイズが変更されたときに拡大)を使用するかどうかを設定できます。(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)
  • UX ガイドラインとの整合性を高め、プライマリ ラベルを上部の固定位置に配置し、ラベルのレスポンシブ インセットを設けることで、タイルの整合性を保つため、新しい setResponsiveContentInsetEnabled セッターで EdgeContentLayout を更新しました。(I60175)
  • このレイアウトでは、コンテンツが画面の端から外れないように、プライマリ ラベル、セカンダリ ラベル、下部のチップにレスポンシブなインセットを追加する PrimaryLayout.setResponsiveContentInsetEnabled を追加しました。(I0c457)
  • CircularProgressIndicator から外側のマージンを削除するメソッドを追加し、より小さなコンポーネントとして使用できるようにしました。(I55c06)

API の変更

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

バグの修正

  • テキストで省略記号、文字間隔、中央揃えをすべて使用した場合のテキストの配置に関する問題を修正しました。(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 度を超える長さの表現の改善。
  • 日時形式では、動的データ型で異なるタイムゾーンがサポートされています。
  • 切り捨てられたテキストを処理するための、テキストの自動サイズ調整と省略記号のオプションが改善されました。
  • Spacer は、オプションの重みを使用して拡張されたディメンションをサポートします。
  • すべての ProtoLayout API へのスキーマ バージョン要件アノテーション。
  • ユーザー補助の要件を満たすため、Clickable 要素のターゲット領域を 48 dp x 48 dp に拡大しました。
  • フォント パディングはデフォルトでオフになっており、テキストを含むすべての Text 要素とマテリアル コンポーネントで唯一の動作です。

その他の変更

  • バージョン 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)
  • 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 がグラデーションをサポートするようになりました。SweepGradient を含む Brush を追加し、キャップに影を付けることで、既存の 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)
  • RoundMode は、指定されていない場合、FloatToInt32Node でデフォルトで 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 イニシアチブに続き、すべての Text 要素でフォント パディングがデフォルトでオフになりました。また、AndroidTextStyle と関連する setter が公開 API から削除されました。(I79094、Ib0b03、I32959、Iaf7d5、Ifa298、I0a4ae、Ida9d3)
  • Modifier.hidden が Modifier.visible に置き換えられました。(I56902)
  • FontStyle#setSizes が、SpProp 引数の代わりに int を受け取るようになりました。(I02b37)

バグの修正

  • Undefined または Unrecognized の列挙型値が検出されたときに例外をスローします。(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 の変更

  • DynamicZonedDateTime を非表示にして、そのすべてのオペレーションを DyanamicInstant に移動するように API を更新(I34b94)
  • Spacer で、幅と高さの Expanded ディメンションがサポートされるようになりました。(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)
  • タイムゾーン付きの日付と時刻の形式設定に必要な protos と 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 については、こちらをご覧ください。

  • タイルから ProtoLayout に移行するには、こちらの手順に沿って操作してください。

API の変更

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

バグの修正

  • SpanText に DynamicColor が設定されている場合にスローするチェックを追加しました。(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 int 定数が、値定数の代わりに DynamicHeartRateAccuracy.constant() と DynamicHeartRateAccuracy.dynamicDataValueOf() で直接使用されるようになりました。(I82ff5)
  • PlatformHealthSources.Constants クラスが誤ってインスタンス化可能になっていました。この問題は修正されています。(Icb849)
  • PlatformTimeUpdateNotifier#setReceiver が、Supplier 関数と通知先の Executor ではなく Runnable を受け取るようになりました。(I9d938)
  • PlatformTimeUpdateNotifier#setReceiver のパラメータの型を Callable から Supplier に変更しました。(I664bf)
  • CompactChip と TitleChip でアイコンの追加がサポートされるようになりました。(I5a01e)

バグの修正

  • oneof を使用するように動的フィールドを含む Prop メッセージを更新(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)
  • PlatformDataProvider の register/unregisterForData の名前を set/clearReceiver に変更(I14b02)
  • Material Text で、getExcludeFontPadding の名前が hasExcludeFontPadding に変更されました。(Iea01d)
  • ラベルを完全に配置するためのセッターがすべてのチップ コンポーネントに追加されました。すべてのチップに最小タップ可能ターゲットが適用されるようになりました。(I8ae92)
  • LayoutDefaults#BUTTON_MAX_NUMBER の名前を MAX_BUTTONS に変更しました。(I84788)
  • DAILY_DISTANCE の名前が DAILY_DISTANCE_M に変更されました。(I4f758)

バグの修正

  • 静的値が強制される理由を明確にするため、Prop types のドキュメントを更新しました。静的値が指定されていない場合に使用されるデフォルト値を指定します。(I155aa)
  • PlatformDataKey Namespace は Java スタイルの命名規則に従う必要があります。(I47bda)

バージョン 1.0.0-alpha10

2023 年 5 月 24 日

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

新機能

  • アプリのプッシュ状態にアクセスするための 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)
  • PlatformDataProvider を実装して、心拍数と 1 日の歩数を提供します。SensorGateway インターフェースが公開 API から削除されました。(I55b84)
  • PlatformDataProvider を追加し、プロバイダのサポートされているキーが式パイプラインのノードで必要な場合に PlatformDataProvider に登録するように StateStore を更新します。(Ib616a)
  • SensorGateway は状態を保持しなくなったため、Closeable ではなくなりました。(I6b4f7)
  • CircularProgressIndicator の進行状況について DynamicFloat で FloatProp を使用できるようにします。これは、バージョン 1.2 をサポートするレンダラでサポートされています。古いレンダラは、指定された場合は staticValue に、指定されていない場合は 0 にフォールバックします(I0d91b)
  • MultiButtonLayout 定数が LayoutDefaults.MultiButtonLayoutDefaults クラスにリファクタリングされました。このクラスには、レイアウト内のボタンの数に応じてボタンのサイズを指定する定数が含まれています。(I13973)
  • マテリアル テキストで DynamicString とともに StringProp を使用できるようになりました。これは、バージョン 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 の期間と遅延には 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() が削除されました。また、NaN DynamicFloat 値と 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 については、こちらをご覧ください。

新機能

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

API の変更

  • sensorGateway#registerSensorGatewayConsumer は、Consumer のメソッドではなく、データ型をパラメータとして受け取ります。(Icf314)
  • ObservableStateStore の名前を StateStore に変更しました。(Ieb0e2)
  • コンストラクタ引数の代わりに DynamicTypeEvaluator.Builder を追加し、ObservableStateStore を含むオプションの引数を増やしました。ObservableStateStore はデフォルトで空のストアになります。(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 メソッドが Executor を受け取るようになりました。(I346ab)
  • BoundDynamicType に startEvaluation メソッドを追加し、動的型がバインドされた後に評価をトリガーするようにしました。(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)
  • 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」が導入されました。