Wear protolayout

  
這個程式庫可定義要在遠端介面上轉譯/評估的一組 UI 版面配置和非 UI 運算式。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
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 版包含這些修訂版本

新功能

  • ProtoLayout Arc 元素現在可以選擇在當中加入 ArcDirection (ClockwiseCounterclockwiseNormal)。為 ArcArcLineArcText 新增這個行為,即可修正其在 RTL 版面配置中的行為。(I90699)。
  • EdgeContentLayout 已更新和新的 setResponsiveContentInsetEnabled setter,以便更符合使用者體驗指南,讓主要標籤位於頂端的固定位置,並支援標籤的回應式插邊,讓資訊方塊保持一致。(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 版的修訂項

自 1.0.0 版本以來的重要變更

  • ArcLine 中的梯度支援且能更有效地呈現大於 360 度的長度。
  • 針對動態資料類型,日期時間格式設定支援不同的時區。
  • 改善文字自動調整大小和省略選項,以處理截斷的文字。
  • 空格字元支援展開尺寸 (選用寬度)。
  • 所有 ProtoLayout API 的結構定義版本要求註解。
  • 將目標區域擴展至任何 Clickable 元素 48 dp x 48 dp,以符合無障礙功能需求。
  • 字型邊框間距預設為關閉,是所有文字元素和含有文字的 Material 元件中的唯一行為。

其他變更

1.1.0-rc01 版本

2024 年 1 月 24 日

發布 androidx.wear.protolayout:protolayout-*:1.1.0-rc01查看 1.1.0-rc01 版的修訂項

修正錯誤

  • PlatformTimeUpdateNotifierImpl 會在啟用更新後立即滴答。(I77145)。
  • 已修正 RTL 版面配置的 CircularProgressIndicator。從現在起,無論在任何情況下,這項功能都會以順時針方向播放。(I95ee3)。
  • 新增 skia 弧形繪製問題的解決方法。(I08f09)。

1.1.0-beta01 版本

2024 年 1 月 10 日

發布 androidx.wear.protolayout:protolayout-*:1.1.0-beta011.1.0-beta01 版包含此連結所列的修訂項目。

新功能

Wear ProtoLayout 的 1.1.0-beta01 版本指出此程式庫版本功能完整,且 API 已鎖定 (標示為實驗功能除外)。Wear ProtoLayout 1.1 提供下列新功能和 API:

  • ArcLine 現在支援漸層,方法是新增含有 SweepGradientBrush,並在頂部加上陰影,透過在現有的 StrokeCap 上新增 Shadow,以更準確呈現長度大於 360 度的長度。
  • DynamicInstant 支援區域日期時間格式。DynamicInstantDynamicDuration 可做為狀態或平台資料類型使用。
  • 文字大小的自動調整功能,可將多個大小設為 FontStyle.setSizes,其中文字大小會根據父項內部的空間自動調整大小。此外,我們新增了 TEXT_OVERFLOW_ELLIPSIZE 並淘汰 TEXT_OVERFLOW_ELLIPSIZE_END,改善溢位文字的刪節選項。
  • Spacer 現在支援展開的尺寸 (選用權重)。如要建構 ExpandedDimensionProp,我們新增了輔助方法 DimensionBuilders.weight
  • 支援透過 Modifier.visible 動態隱藏及取消隱藏版面配置元素。這包括在 BoolProp 中使用動態值。
  • 所有 ProtoLayout API 現已提供結構定義版本規定註解,且可在呼叫較新的 API 前檢查版本。
  • 現在,每個含有 Clickable 的元素在轉譯器中都會將目標區域延伸至至少 48x48,以更妥善支援無障礙功能需求。
  • 按照其他 Material Design 元件和 Compose 計畫,我們現在預設會關閉所有 Text 元素的字型邊框間距。此外,AndroidTextStyle 和相關 setter 已從公用 API 中移除,並修正以下錯誤:
  • 新增用於在 EdgeContentLayout 中放置邊緣內容的 setter,以便在其他內容之前放置邊緣內容。
  • 在遇到無法辨識的列舉值時,持續擲回例外狀況。
  • 在運算式產生無效數值 (NaN 或無限) 或擲回 ArithmeticException 時,撤銷運算式的結果。

API 變更

  • 更新 SweepGradient API,允許在建構函式中接受顏色或 ColorStops。(I6676f)。

修正錯誤

  • 新增受限制的 API 和轉譯器支援,以設定弧形元素的繪製方向。(Idef5a)。
  • 如未指定,RoundModeFloatToInt32Node 中預設為 Floor。如果提供的 RoundMode 無法識別,節點仍會擲回例外狀況。(I1b2d8)。

1.1.0-alpha04 版本

2023 年 12 月 13 日

發布 androidx.wear.protolayout:protolayout-*:1.1.0-alpha041.1.0-alpha04 版包含此連結所列的修訂項目。

新功能

  • VersionInfo 類別不會實作 Comparable 介面。(I8d13c)。
  • 轉譯器現在支援 TEXT_OVERFLOW_ELLIPSIZE 選項。(I7f085)。

API 變更

  • 文字溢位選項 TEXT_OVERFLOW_ELLIPSIZE_END 現已淘汰。請使用新版 API TEXT_OVERFLOW_ELLIPSIZE,行為非常類似。(I822d8)。
  • 按照其他 Material Design 元件和 Compose 計畫,我們現在預設會關閉所有文字元素的字型邊框間距。此外,AndroidTextStyle 和相關 setter 已從公用 API 中移除。(I79094Ib0b03I32959Iaf7d5Ifa298I0a4aeIda9d3)
  • Modifier.hidden 已替換為 Modifier.visible (I56902)
  • FontStyle#setSizes 現在接受 int 而非 SpProp 引數。(I02b37)。

修正錯誤

  • 在遇到未定義或無法識別的列舉值時擲回例外狀況。(I9d2cf)。
  • 重構 DynamicTypeBindingRequest。(I27b57)。
  • 在運算式產生無效數值 (NaN 或無限) 或擲回 ArithmeticException 時,撤銷運算式的結果。(I681ae)。

1.1.0-alpha03 版

2023 年 11 月 29 日

發布 androidx.wear.protolayout:protolayout-*:1.1.0-alpha031.1.0-alpha03 版包含此連結所列的修訂項目。

新功能

  • 新增動態隱藏/取消隱藏版面配置元素的實驗性支援 (I64a78)
  • BoolProp 新增動態值支援 (I2fe96)
  • 將結構定義版本規定註解新增至 ProtoLayout API (I0f03c)
  • 使用 TextOverflow 中的新選項擴充 API,以便在未達到行數上限 (但文字空間不足) 時,將固定父項容器中的文字省略。(I110a9)。
  • 新增輔助方法 DimensionBuilders.weight,以便使用權重建構 ExpandedDimensionProp。(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 版的修訂項

新功能

  • 已將 ArcLine StrokeCap Shadow 欄位新增至 API。(I830ec)。
  • 擴充 API,以便指定要展開的空格字元寬度或高度。(I757ca)。
  • 我們已新增實驗性 API,可根據父項內部的空間自動調整文字大小。(Ibbe63)。
  • 支援最小可點擊尺寸 (I178e3)
  • 新增對 StrokeCap Shadow 的轉譯器支援。(I48b17)。
  • ArcLine 中新增對「Sweep Gradient」的轉譯器支援。(I4d5bb)。

1.1.0-alpha01 版

2023 年 10 月 18 日

發布 androidx.wear.protolayout:protolayout-*:1.1.0-alpha011.1.0-alpha01 版包含以下修訂項目。

新功能

  • 已將筆刷選項新增至 Arcline,並支援 SweepGradient。(Ie7ce3)。
  • 新增對可用區日期時間格式設定的支援。(Ibfae0)。
  • 新增了區域日期時間格式所需的 protos 和 Java 包裝函式。(I97126)。
  • 新增了 getter,用來讀取 DynamicDataValue 中儲存的值。(Ie6cea)。
  • 新增用於在 EdgeContentLayout 中放置邊緣內容的 setter,以便在其他內容之前放置邊緣內容。(Ie8e8a)。

修正錯誤

  • 修正問題:系統沒有立即更新包含多個時間資料來源的運算式。(I8e1a8)。
  • 修正在差異比較更新期間將根元素置中的錯誤。(Ie48f7)。
  • 系統不再忽略未設定 (或空白) 版面配置限制值。(Ibc785)。
  • 縮短版面配置在可見版面配置與管道節點初始化之間的延遲時間。(I38d4e)。

1.0 版

1.0.0 版本

2023 年 8 月 9 日

發布 androidx.wear.protolayout:protolayout-*:1.0.01.0.0 版包含此連結所列的修訂項目。

1.0.0 的主要功能

ProtoLayout 程式庫導入了 API,可用於建立可在不同 Wear OS 介面上使用的版面配置和運算式。舉例來說,資訊方塊程式庫會使用這些 API 來支援平台資料繫結 (可加快資訊方塊資料更新) 和動畫。

1.0.0-rc01 版本

2023 年 7 月 26 日

發布 androidx.wear.protolayout:protolayout-*:1.0.0-rc011.0.0-rc01 版包含以下修訂項目。

  • 如要從資訊方塊遷移至 ProtoLayout,請按照這裡的指示操作。

API 變更

  • 我們已從 Arc 元素中移除 setLayoutConstraintForDynamicAnchorAnglegetLayoutConstraintForDynamicAnchorAngle 方法。這些方法是錯誤新增,對提供的版面配置沒有任何影響。(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-beta011.0.0-beta01 版包含此連結所列的修訂項目。

新功能

  • 允許設定時間繫結測試的時鐘。(I05622)。

API 變更

  • PlatformDataReceiver.onData()StateBuilders.Builder.addKeyToValueMapping 現在接受 DynamicDataKeyDynamicDataValue 的類型安全對應,而非不安全的泛型。這表示 DynamicDataValue 現已使用 DynamicType 輸入。HEART_RATE_ACCURACY_X 常數已移至 PlatformHealthSources 的根層級,以配合其他 Android 常數位置。HEART_RATE_ACCURACY_X int 常數現在可直接用於 DynamicHeartRateAccuracy.constant()DynamicHeartRateAccuracy.dynamicDataValueOf(),而非常數值。(I82ff5)。
  • PlatformHealthSources.Constants 類別意外例項化。不過現在這個問題已經解決。(Icb849)。
  • PlatformTimeUpdateNotifier#setReceiver 現在會收到 Runnable (而不是 Supplier 函式) 和 Executor 以發送通知。(I9d938)。
  • PlatformTimeUpdateNotifier#setReceiver 中的參數類型已從 Callable 變更為 Supplier(I664bf)。
  • CompactChipTitleChip 現在支援新增圖示。(I5a01e)。

修正錯誤

  • 將含有動態欄位的建議訊息更新為使用 oneof。(I81739)
  • 針對具有 setter 的超載,重複使用 setter 實作 (Ied70c)
  • 在有超載的 setter 中正確記錄指紋 (I86ed2)

1.0.0-alpha11 版本

2023 年 6 月 7 日

發布 androidx.wear.protolayout:protolayout-*:1.0.0-alpha111.0.0-alpha11 版本包含以下修訂項目。

新功能

  • 新增了 PlatformDataKey 的心率準確度。(I7f9b8)。

API 變更

  • StateBuilders#getIdToValueMapping 重新命名為 getKeyToValueMapping,並將傳回類型變更為 Map<<AppDataKey<?>,DynamicDataValue>。(Iaa7ae)。
  • StateStore 設為最終等級 (I408ca)
  • protolayout-expression-pipeline 程式庫中的 TimeGateway 介面已替換為 PlatformTimeUpdateNotifier,可提供用於更新時間資料的所需頻率。(I60869)。
  • PlatformDataProvider 中的 register/unregisterForData 重新命名為 set/clearReceiver (I14b02)
  • 在 Material Text 中,getExcludeFontPadding 已重新命名為 hasExcludeFontPadding。(Iea01d)。
  • 已為所有方塊元件新增用於完美對齊標籤的 setter。所有方塊現在已套用可輕觸的目標下限。(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-alpha101.0.0-alpha10 版本包含以下修訂項目。

新功能

  • 新增 AppDataKey,用於存取應用程式推送狀態;新增用於存取平台資料的 PlatformDataKey;在 StateStore 中新增命名空間支援。(I7985e)。
  • 支援 DynamicBoolEqualNotEqual 作業。(I6a0c1)。

API 變更

  • FontStyles 類別已進入最終階段 (Iaa2ea)
  • 淘汰了 LayoutElementBuilders#FontStyles。請使用 androidx.wear.protolayout.Typography 或建立自己的 FontStyle。(Ic929b)。
  • Action 介面隱藏 Action#Builder 巢狀介面。Builder 的實作已由 LoadActionLaunchAction 類別提供。(I1d70c)。
  • 允許透過 FloatProp 使用 DynamicFloat。請注意,FloatProp 無法用於版面配置變更屬性,因此不需要版面配置限制 (I286ac)。
  • 系統目前尚未支援「LoalAction」和「SetStateAction」動作,因此已移除。(I5d6a6)。
  • 新增內嵌圖片資源的 ARGB_8888 格式支援。(I8a07c)。
  • StateEntryValue 重新命名為 DynamicDataValue,並更新狀態 APIS 以使用 DynamicDataKey (If1c01)
  • 我們限制了 StateStore 中允許的項目數量,確保 StateStore 的每個執行個體都能妥善控制及控管記憶體用量和狀態更新時間。因此,開發人員必須確保地圖上的項目不超過 MAX_STATE_ENTRY_COUNT 個,否則在建立或更新 StateStore 時會收到 IllegalStateException。(Ibadb3)。
  • 隱藏 OnLoadTriggerOnConditionMetTrigger 類別,並將 OnConditionMetTriggersetTrigger 重新命名為 setCondition。(Ibf629)。
  • 基於效能和相容性考量,ProtoLayout 轉譯器不支援 AnimatedVectorDrawable 資源中的所有功能。我們會將這些 API 標示為實驗性,直到能夠定義支援的組合為止。(Ic6daf)。
  • 新增每日距離、每日卡路里和每日樓層數的動態類型。平台健康狀態來源的金鑰現已低於 PlatformHealthSources.Keys (Ib7637)
  • Easing.cubicBezier 方法會取代 CubicBezierEasing.Builder。移除 EasingFunction 類別後,即可直接從 Easing 介面存取該類別的加/減速常數。此外,setInfiniteRepeatable 會由 INFINITE_REPEATABLE_WITH_RESTARTINFINITE_REPEATABLE_WITH_REVERSE 取代 (Ib41e7)
  • 實作 PlatformDataProvider 提供心率和每日步數。SensorGateway 介面已從公用 API 中移除。(I55b84)。
  • 新增 PlatformDataProvider,並在運算式管道的節點需要提供者支援的金鑰時,更新 StateStore 以註冊至 PlatformDataProvider。(Ib616a)。
  • SensorGateway 不再保有任何狀態,因此已不再是 Closeable。(I6b4f7)。
  • 允許搭配 DynamicFloat 使用 FloatProp,取得 CircularProgressIndicator 的進度。這項功能適用於支援版本 1.2 的轉譯器。如有提供,舊版轉譯器會改回使用 staticValue,否則傳回 0 (I0d91b)
  • MultiButtonLayout 常數已重構為 LayoutDefaults.MultiButtonLayoutDefaults 類別,現在包含視版面配置中的按鈕數量而定,按鈕大小的函式。(I13973)。
  • 支援在 Material Text 中透過 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 版的修訂項

新功能

  • 我們新增了實驗性擴充功能版面配置元素,請注意,根據預設,系統不會使用此功能,且需要能夠理解版面配置元素的轉譯器擴充功能。(I6581d)。
  • 新增對 ArcLineStrokeCap 支援。(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 版的修訂項

新功能

  • 已將「AndroidTextStyle」新增至「LayoutElementBuilders」。(I8d967)。
  • 我們已新增在 ProtoLayout Material Text 中排除字型邊框間距的設定支援功能。(I17f5d)。
  • 內嵌圖片現在支援 ARGB_8888。(I18c1e)。
  • DynamicColor 現在支援 onCondition作業。(I10927)。

API 變更

  • 支援反向動畫的自訂時間長度 (I3251f)
  • 我們已新增 SemanticDescription 修飾符。此外,ContentDescription 無法繫結。(I3f1d)。
  • DynamicBool.isFalse() 方法現已替換為 DynamicBool.negate(),並移除 DynamicBool.isTrue()。除了 NaN DynamicFloat 值,並將 DynamicInt32 範圍縮小為 DynamicFloat 時,系統會發出無效的動態結果。(I6ac1e)。
  • Int 和浮點數格式器現在採用建構工具模式。(Ieb213)。

修正錯誤

  • 備用靜態值已從可模擬的欄位中移除。(Ifcb01)。
  • 已移除 DynamicTypeValueReceiver#onPreUpdate。(I2dc35)。
  • 動態運算式中的字串長度現在設有上限。(I4c93)。
  • Gradle 依附元件現在會在必要時正確設為 api,而非 implementation。(I40503)。

1.0.0-alpha07 版

2023 年 4 月 5 日

發布 androidx.wear.protolayout:protolayout-*:1.0.0-alpha07查看 1.0.0-alpha07 版的修訂項

新功能

  • StringProp 新增動態值支援 (I04342)
  • 標示可繫結的版面配置元素 (Ia110b)

API 變更

  • sensorGateway#registerSensorGatewayConsumer 會將資料類型做為參數,而不是消費者中的方法。(Icf314)。
  • ObservableStateStore 已重新命名為 StateStore。(Ieb0e2)。
  • 新增了 DynamicTypeEvaluator.Builder (而非建構函式引數),以便允許使用更多選用引數,包括現在預設為空白儲存庫的 ObservableStateStore。(I6f832)。
  • 重構 DynamicTypeEvaluator 中的參數順序。(Ic1ba4)。

修正錯誤

  • 將平台感應器來源的信號正確地套用到下游節點 (I5a922)

1.0.0-alpha06 版

2023 年 3 月 22 日

發布 androidx.wear.protolayout:protolayout-*:1.0.0-alpha061.0.0-alpha06 版本包含以下修訂項目。

新功能

  • 我們已新增實驗性 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-alpha051.0.0-alpha05 版包含此連結所列的修訂項目。

新功能

  • 我們已在 Modifiers 物件中新增實驗性的「內容更新」動畫。在版面配置更新期間,每當有元素 (含有此修飾符) 或其其中一個子項變更時,就會觸發這個動畫。(bd03e5d)。

API 變更

  • forwardRepeatDelayMillisreverseRepeatDelayMillis 新增至 Repeatable。我們也將 AnimationSpec 中的 delayMillis 重新命名為 startDelayMillis (Ifb266)
  • DynamicTypeEvaluator.bind 方法現在接受執行器。(I346ab)。
  • 我們已將 startEvaluation 方法新增至 BoundDynamicType,以便在動態類型繫結後觸發評估作業。(I19908)。

修正錯誤

  • 系統會重複使用 Animator 物件,做為單一元素的後續動畫使用。(Ia3be9)。

1.0.0-alpha04 版

2023 年 2 月 22 日

發布 androidx.wear.protolayout:protolayout-*:1.0.0-alpha041.0.0-alpha04 版本包含以下修訂項目。

新功能

  • ObservableStateStore 現在會在按鍵移除時通知事件監聽器。
  • 我們已為 DeviceParameters 新增轉譯器結構定義版本和字型調整 (可用於有條件地根據不同版本和字型設定建立版面配置)。
  • 我們已新增對 DynamicInt32 值動畫效果的支援 (I05485)
  • 我們新增了 OnLoadOnConditionalMet 觸發條件。這些屬性可用來啟動支援特定觸發條件的動畫。
  • 我們為展開的尺寸新增版面配置粗細,以及包裝尺寸的最小尺寸。
  • 我們新增了時間長度和即時動態類型這些引數可用來代表動態運算式中的即時或持續時間。
  • 我們已開始支援 AnimatedVectorDrawableSeekableAnimatedVectorDrawable 做為版面配置資源。

API 變更

  • 感應器資料需要 API 29 以上級別。(I8099e)
  • 我們新增了兩種 launchAction 輔助方法 (用於啟動活動)。

修正錯誤

  • 在資訊方塊動畫中將 set/getSpec 重新命名為 set/getAnimationSpec (I3d74b)

1.0.0-alpha03 版本

2023 年 2 月 8 日

發布 androidx.wear.protolayout:protolayout-*:1.0.0-alpha031.0.0-alpha03 版包含以下修訂項目。

新功能

  • 我們在 protolayout-express 程式庫中的動態類型中新增了 toByteArray()fromByteArray()
  • 我們在 protolayout-expression 程式庫的動態類型中新增了 toString()
  • 我們為動態類型新增了評估支援服務。protolayout-expression-pipeline 程式庫中的 DynamicTypeEvaluator 類別可用來評估先前建立的動態類型 (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-alpha021.0.0-alpha02 版本包含以下修訂項目。

新功能

  • androidx.wear.tiles:tiles 的版面配置建構工具將移至 androidx.wear.protolayout:protolayoutandroidx.wear.tiles:tiles 中的版面配置建構工具將在下一個 Alpha 版本中淘汰。

1.0.0-alpha01 版

2023 年 1 月 11 日

發布 androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01androidx.wear.protolayout:protolayout-proto:1.0.0-alpha011.0.0-alpha01 版包含此連結所列的修訂項目。

新功能

  • 這個版本推出新的程式庫「ProtoLayout Expression」,可從動態變數建立運算式。