wear protolayout
| 最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 | 
|---|---|---|---|---|
| 2025 年 10 月 22 日 | 1.3.0 | - | - | 1.4.0-alpha02 | 
宣告依附元件
如要為 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.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 文件。
1.4 版
1.4.0-alpha02 版
2025 年 10 月 22 日
發布 androidx.wear.protolayout:protolayout-*:1.4.0-alpha02。1.4.0-alpha02 版包含這些修訂項目。
新功能
- 新增平台事件來源 (isInAmbientMode),說明裝置是否處於微光模式 (Ief832)
API 變更
- PendingIntent- clickable現在接受後備動作 (- LoadAction/- LaunchAction),可在- ProtoLayout轉譯器不支援- PendingIntent時使用。當 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 版包含這些修訂項目。
新功能
- 新增 LayoutModifier的輔助方法,可在圖塊顯示時讓元素淡入。(I38531、b/390345969)
- 新增 materialScopeWithResources,支援 M3MaterialScope概念,同時處理自動資源註冊作業。其中新增了圖片的 Helper 方法 (backgroundImageavatarImage和圖示),因此使用時不必在onTileResourceRequest中手動註冊資源。(I525bd、b/428692714)
- ProtoLayout適用於- Image和- ImageResources的 Kotlin 輔助程式,可搭配- ProtoLayoutScope使用,並自動註冊資源。(Iada82、b/430584304)
- 新增 getter,用於取得自訂單一 Lottie 動畫時允許的 Lottie 屬性數量。(I73733、b/436532706)
- 在 AndroidLottieResourceByResId中新增 API,允許透過屬性自訂 Lottie 動畫,並新增 API,以便使用主題設定的顏色和 ID 建立屬性。(I301b3、b/423581481)
- 新增供應商 API,可接受 PendingIntent做為點擊動作 (I01978、b/433802488)
- 在 Image.Builder-setImageResource中新增 API,直接將資源物件設定為onTileRequest中的 Image,不必在onTileResourcesRequest的對應中註冊。(Ifa69a、b/428693523)
- 新增 ProtoLayoutScope概念,為 Tiles 中更完善的資源處理機制做好準備。(I132ce、b/428692423)
- ProtoLayoutMaterial3- MaterialScope現在會公開- Context欄位,供範圍內的方法使用,不必傳遞該欄位。(I0e5cc、b/414559956)
- 公開標題語意 API (I75299、b/413653475)
- 公開 ARC_DIRECTION_*常數,供Arc/ArcLine/ArcText/DashedArcLine使用。(I83959、b/427556439)
API 變更
- 我們已淘汰 Image.Builder()和Image.Builder.setResourceId方法,並改用新的自動資源註冊 API,這個 API 適用於Image.Builder(ProtoLayoutScope)和Image.Builder.setImageResourceAPI,可免除覆寫onTileResourcesRequest的需求。(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 版包含這些修訂項目。
自 1.2.0 版以來的重要異動
- 手錶採用 Material 3 設計,元件和版面配置經過最佳化,可配合圓形螢幕,並根據螢幕大小適當調整比例
- 包括僅限 Kotlin 的 protolayout-material3程式庫,其中包含下列元件和功能更類似 Compose 的 API:
- 系統提供的動態色彩主題,以及採用最新 Material 3 主題的錶面,可自訂顏色、形狀和字體排版
- MaterialScope,負責處理所有預設值,並簡化自訂作業
- iconEdgeButton、- textEdgeButton
- iconButton、- textButton、- button、- imageButton、- avatarButton、- compactButton
- titleCard、- appCard、- graphicDataCard、- iconDataCard、- textDataCard
- circularProgressIndicator、- segmentedCircularProgressIndicator
- primaryLayout、- buttonGroup
- 所有元件都適用於任何 SDK 層級和 ProtoLayout轉譯器版本,並在適用時提供合理的備用項目
 
- 包括僅限 Kotlin 的 
- 更支援 Kotlin 的 Compose 類似 API,適用於基本 ProtoLayout 元素
- LayoutModifier,可將大部分修飾符新增為鏈結函式 (- padding、- contentDescription(包括- clearSemantics)、- background、- clip、- opacity等),並轉換為現有的- Modifiers物件
- LayoutColors和- LayoutString類型,可更輕鬆地支援動態欄位和限制
- text和- fontStyle
- 更完善的 StateBuilder對應支援功能,包括DynamicDataMap和工廠方法 (例如intAppDataKey),可輕鬆建立AppDataKey物件
 
- Lottie 動畫支援設定動畫的觸發時機,例如在載入版面配置或版面配置顯示時開始播放動畫
- 改善漸層支援:
- 線性漸層 API 是 Brush的一部分,可用於Background修飾符,適用於Box、Spacer等元素。
- 允許在用於線性和掃掠漸層的 ColorStop中使用動態顏色值
- 弧形物件中的現有掃掠漸層現在支援動態顏色,以及起始和結束角度
 
- protolayout-expression中的平台資料繫結,可在版面配置的可見度變更時隨時接收資訊,例如在輕觸動態磚時隱藏版面配置的特定部分
- 新增測試程式庫 - protolayout-testing,方便針對任何 ProtoLayout 元素進行單元測試涵蓋範圍
- 新元素 DashedArcLine具有更完善的功能,可讓線條顯示虛線,而非現有的ArcLine
- ArcSpacer支援以 DP 維度設定長度,而非角度
- 新增適用於部分字型的圓潤度 FontSetting軸
1.3.0-rc01 版本
2025 年 5 月 20 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-rc01,與前一版相比沒有任何異動。1.3.0-rc01 版包含這些修訂項目。
1.3.0-beta02 版
2025 年 5 月 7 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-beta02。1.3.0-beta02 版包含這些修訂項目。
修正錯誤
- 我們大幅改善了適用於 API 36 以上版本的排版設計值。這是因為從 API 36 開始,所有動態磚都會使用系統字型,因此這項變更可讓動態磚輪播介面更一致。(If316f)
- 如果未設定動態值的 layoutConstraints,Text、Spacer、ArcLine和DashedArcLine建構函式不會擲回例外狀況。請注意,舊版算繪器仍須設定layoutConstraints,並會忽略未設定該值的動態值。(Ic52e8)
- 新增標題語意修飾符,指出版面配置元素是內容區段的標題,以利無障礙功能使用,並將 primaryLayout標題位置中的文字預設標示為無障礙標題。(Iae1fb)
- 最終的 UX 潤飾:在較小的螢幕上,標題和主要位置之間的間距從 6dp 縮減為 4dp。primaryLayout(I0e056)
- 將預設內容說明套用至 textEdgeButton。(Ifaf8b)
- 微幅更新 avatarButton內邊框間距。(I0910b)
1.3.0-beta01 版本
2025 年 4 月 9 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-beta01。1.3.0-beta01 版包含這些修訂項目。
新功能
Wear ProtoLayout 的 1.3.0-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。Wear ProtoLayout 1.3 包含下列新功能和 API:
- 手錶採用 Material 3 設計,元件和版面配置經過最佳化,可配合圓形螢幕,並根據螢幕大小適當調整比例
- 包括僅限 Kotlin 的 protolayout-material3程式庫,其中包含下列元件和功能更類似 Compose 的 API:
- 系統提供的動態色彩主題,以及採用最新 Material 3 主題的錶面,可自訂顏色、形狀和字體排版
- MaterialScope,負責處理所有預設值,並簡化自訂作業
- iconEdgeButton、- textEdgeButton
- iconButton、- textButton、- button、- imageButton、- avatarButton、- compactButton
- titleCard、- appCard、- graphicDataCard、- iconDataCard、- textDataCard
- circularProgressIndicator、- segmentedCircularProgressIndicator
- primaryLayout、- buttonGroup
- 所有元件都適用於任何 SDK 層級和 ProtoLayout Renderer 版本,並在適用情況下提供合理的備用項目
 
- 包括僅限 Kotlin 的 
- 更支援 Kotlin 的 Compose 類似 API,適用於基本 ProtoLayout 元素
- LayoutModifier,可將大部分修飾符新增為鏈結函式 (- padding、- contentDescription(包括- clearSemantics)、- background、- clip、- opacity等),並轉換為現有的- Modifiers物件
- LayoutColors和- LayoutString類型,可更輕鬆地支援動態欄位和限制
- text和- fontStyle
- 更完善的 StateBuilder對應支援功能,包括DynamicDataMap和工廠方法 (例如intAppDataKey),可輕鬆建立AppDataKey物件
 
- Lottie 動畫支援設定動畫的觸發時機,例如在載入版面配置或版面配置顯示時開始播放動畫
- 改善漸層支援:
- 線性漸層 API 是 Brush的一部分,可用於Background修飾符,適用於Box、Spacer等元素。
- 允許在用於線性和掃掠漸層的 ColorStop中使用動態顏色值
- 弧形物件中的現有掃掠漸層現在支援動態顏色,以及起始和結束角度
 
- protolayout-expression中的平台資料繫結,可在版面配置的可見度變更時隨時接收資訊,例如在輕觸動態磚時隱藏版面配置的特定部分
- 新增測試程式庫 - protolayout-testing,方便針對任何 ProtoLayout 元素進行單元測試涵蓋範圍
- 新元素 DashedArcLine具有更完善的功能,可讓線條顯示虛線,而非現有的ArcLine
- ArcSpacer支援以 DP 維度設定長度,而非角度
- 新增適用於部分字型的圓潤度 FontSetting軸
1.3.0-alpha10 版
2025 年 3 月 12 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-alpha10。1.3.0-alpha10 版包含這些修訂項目。
新功能
- 在 Kotlin 背景修飾符中新增 Brush 的輔助程式。(I995de)
- MaterialScope中已公開強制執行的 Android Context 欄位,方便開發人員在建立 Material3 資訊方塊的元件時使用函式。(I7df73)
API 變更
- 將 API platformVisibilityStatus重新命名為PlatformEventSources.isLayoutVisible,並新增實驗性 APIPlatformEventSources.isLayoutUpdatePending。(Ie1e04)
修正錯誤
- 現在 primaryLayout的邊界會正確向上捨入,這可能會影響某些版面配置,主廣告空間最多會減少 2dp。(I8f5d3)
- 釐清 ProtoLayoutMaterial3 元件中的預設動態色彩主題。(Iff5f3)
- Typography.NUMERAL_*字體不再預設為表格/等寬字體。如果文字正在動畫化,強烈建議為文字新增- FontSetting.tabularNum()設定。在所有其他情況下,您不需要使用等寬字型選項,而且不使用這個選項可用的字元會更多。(Id3cd9)
- 釐清 ProtoLayoutMaterial3 元件中的預設動態色彩主題。(I9d831)
1.3.0-alpha09 版
2025 年 2 月 26 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-alpha09。1.3.0-alpha09 版包含這些修訂項目。
新功能
- 新增 enterTransition和exitTransition的實驗性修飾符 (I4a4d6)
- 我們新增了額外的平台繫結,以便在全版面配置的顯示狀態變更時接收通知。(I250c3)
- 允許將測試應用程式狀態和平台資料注入 LayoutElementAssertionsProvider,以評估動態值。(Ib5fcb)
- 在 protolayout 測試程式庫中新增角落篩選器 (Ie2361)
- ButtonColors、- CardColors和- ProgressIndicatorColors現在支援複製方法,並可選擇覆寫部分參數。(Ie2054)
API 變更
- 在測試程式庫中新增動態資料繫結支援 (Ib98de)
- 修正與 backgroundImage函式搭配使用時的imageButton,方法是移除疊加層。此外,請允許backgroundImage函式指定疊加顏色為空值,也就是不套用疊加效果。(Ibec3c)
修正錯誤
- 變更預設 hasValueOfType方法,擲回UnsupportedOperationException而非IllegalArgumentException。(Ia36c3)
- 預設顏色權杖值已更新,可反映最新規格。(I75d44)
- 修正 AndroidX 圖塊轉譯器中圓弧線條的鋸齒問題。(I88190)
1.3.0-alpha08 版
2025 年 2 月 12 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-alpha08。1.3.0-alpha08 版包含這些修訂項目。
新功能
- 為 Material3 文字新增 FontSetting清單參數。(Ic102d)
- 新增 DynamicDataMap類別,StateBuilder現在支援這個類別,可為應用程式狀態提供更安全的 Kotlin API (I012ba)
- 新增 intAppDataKey等工廠方法,方便建立AppDataKey物件 (Icea2a)
- DynamicDataValue現在除了- hasInt/hasColor/.... 方法外,還提供- hasValueOfType(Class<?>)方法 (I4f7a6)
- 我們已在 Material3 ProtoLayout errorDim中新增ColorScheme,用於高優先順序錯誤或緊急動作,例如安全警示。(Ia17bb)
- 我們新增了防護機制,避免存取全域 reduceMotion 設定時發生當機問題。在部分未提供該設定的平台上,系統會觸發這項防護機制。(I01e2c)
API 變更
- addKeyToValueMapping已重新命名為- addToStateMap,且- DynamicDataMap.put方法已移除,因為這些方法是多餘的。(Ibe9dd)
- Material 3 字體排版現在支援系統字型的圓角變數軸 (如果支援的話)。ProtoLayout FontSetting支援字體的圓角軸 (如果字體支援這個軸)。(I33eb5)
- 在 Material3 文字方法中,multilineAlignment已重新命名為 alignment。(I2b66b)
- 將圓形進度指標更新為 Box 類型,並在 constructGraphic中指定mainContent為 Box 類型 (I5a3dc)
- 更完善地支援在圖表中顯示圓形進度指標 (I039db)
修正錯誤
- 允許 ColorStop中的動態值,以及SweepGradient中的開始/結束角度。(I0146d)
- 修正 Google 文件問題。(I4a63a)
- 更新 Material 3 元件 (graphicCard和avatarButton),在不支援weight擴展維度時提供備援 (例如 API 33 以下)。更新文字元件,在轉譯器不支援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 版包含這些修訂項目。
新功能
- 新增 API 選項,可為 Lottie 動畫設定不同觸發條件。此外,還新增了版面配置顯示時觸發的 API (I8272d)
- 新增 border、visibility和opacity修飾符。(I6d3dd)
- 在 ProtoLayout Material3 元件中新增了 avatar 按鈕。(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)
- 移除了 Material 3 中的非 ProtoLayout 字體。(Idd9ae)
- 在 Material3 的 *Colors類別中,為欄位新增 Color 後置字串。(I2d114)
修正錯誤
1.3.0-alpha06 版
2025 年 1 月 15 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-alpha06。1.3.0-alpha06 版包含這些修訂項目。
新功能
- LayoutColor,以支援靜態和動態顏色類型 (I4c89b)
- 新增 ProtoLayout Material3textButton 元件。(Id680d)
- 新增 iconButtonProtoLayout Material3 元件。(Ica3f0)
- 新增 ProtoLayout Material3 按鈕容器元件。(I17a38)
- 在 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)
修正錯誤
1.3.0-alpha05 版
2024 年 12 月 11 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-alpha05。1.3.0-alpha05 版包含這些修訂項目。
新功能
修正錯誤
- 這個程式庫現在使用 JSpecify 空值註解,這些註解屬於型別用途。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 版包含這些修訂項目。
新功能
- 更新 Material3 形狀,使其成為具有欄位的類別,可保留實際的 Corner 值,與 Wear Compose 相同。(Ied8cd)
- 更新 Material3 顏色,加入 ColorScheme概念,與 Wear Compose 相同。(If645e)
- 在測試程式庫中新增多個常用的比對器。(Ie5cec)
1.3.0-alpha03 版
2024 年 10 月 30 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-alpha03。1.3.0-alpha03 版包含這些修訂項目。
新功能
- 將 LayoutElementAssertionsProvider、LayoutElementAssertion和LayoutElementMatcher新增至測試程式庫 (Id1110)
1.3.0-alpha02 版本
2024 年 10 月 16 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-alpha02。1.3.0-alpha02 版包含這些修訂項目。
新功能
- Material 3 程式庫的初始版本。包括 text、edgeButton、buttonGroup和primaryLayout元件。
安全性修正
- 自這項變更起,androidx 會針對 protobuf 4.28.2 進行編譯,以解決 CVE-2024-7254。將 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 版包含這些修訂項目。
修正錯誤
1.2 版本
1.2.1 版本
2024 年 10 月 16 日
發布 androidx.wear.protolayout:protolayout-*:1.2.1。1.2.1 版包含這些修訂項目。
安全性修正
- 自這項變更起,androidx 會針對 protobuf 4.28.2 進行編譯,以解決 CVE-2024-7254。將 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 版包含這些修訂項目。
自 1.1.0 版以來的重要異動
- FontStyle已更新,可支援更多可變軸的字型,並提供更完善的字型選取 API,以支援即將推出的 Flex 字型。
- 支援其他修飾符:
- 轉換修飾符,可提供翻譯、旋轉和縮放功能,並可選擇是否加入動畫效果。
- 為每個圓角半徑指定不同的值 (水平和垂直)。
 
- 將使用 Clickable 修飾符的任何元素可輕觸區域擴大至至少 48dpx48dp,改善所有觸控目標的無障礙功能。
- 新增 setResponsiveContentInsetEnabled,改善PrimaryLayout和EdgeContentLayout,以便在不同螢幕大小中,更妥善支援這些版面配置的回應式行為,並提升動態磚一致性。
- 改善 Android 14 非線性字型縮放功能的 Material Text 縮放/非縮放功能。
- 改善所有弧形元素對 RTL 版面配置方向的支援。
其他變更
- 如要查看第 1.1.0 版的完整異動清單,請參閱「beta01 版本資訊」。
1.2.0-rc01 版本
2024 年 7 月 24 日
發布 androidx.wear.protolayout:protolayout-*:1.2.0-rc01。1.2.0-rc01 版包含這些修訂項目。
修正錯誤
- 我們已修正標準 Material Chip,因此如果未傳遞任何主要或次要標籤,即可做為圖示使用。(Iceef9)
- 我們更新了 Material 版面配置的說明文件,加入相關頁面的圖片,方便您瞭解版面配置。(I0256a)
1.2.0-beta01 版本
2024 年 7 月 10 日
發布 androidx.wear.protolayout:protolayout-*:1.2.0-beta01。1.2.0-beta01 版包含這些修訂項目。
新功能
Wear ProtoLayout 的 1.2.0-beta01 版指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。Wear ProtoLayout 1.2 包含下列新功能和 API:
- FontStyle已更新,現在支援更多字型,如下所示:- 設定不同的字型變化版本設定,例如 FontSetting.weight和FontSetting.width
- 為所有數字字元設定相同寬度 - 表格數字 (FontSetting.tnum字型功能設定)
- 改良字型選取 API,指定要使用的偏好字型系列名稱,支援即將推出的彈性字型。
 
- 設定不同的字型變化版本設定,例如 
- 擴充 Corner修飾符,支援使用個別的水平和垂直值指定每個CornerRadius,以便建構具有不對稱圓角的元素。
- 新增 Transformation修飾符,可平移、旋轉及縮放LayoutElement。您可以使用動態值,為這些轉換製作動畫。
- 在所有弧形元素 (Arc、ArcLine和ArcText) 中新增setArcDirection,並提供Clockwise、CounterClockwise和Normal選項,以便在不同版面配置方向 (例如 LTR 和 RTL) 中提供更完善的支援。
- 將使用 Clickable修飾符的任何元素可輕觸區域擴大為至少48dpx48dp,提升所有觸控目標的無障礙功能。
- 新增 setResponsiveContentInsetEnabled,改善PrimaryLayout和EdgeContentLayout,以便在不同螢幕大小上更妥善支援這些版面配置的回應式行為,並提升動態磚一致性。新增 Linter 警告,建議使用這些 API 並提供快速修正功能。
- 改善 Android 14 非線性字型縮放功能的 Material Text縮放/非縮放功能。
API 變更
- 由於未使用 preferredFontFamiliesAPI,因此系統會移除預設字型系列名稱 (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 版包含這些修訂項目。
新功能
- 在 Material.CompactChip中新增hasText方法,檢查是否已設定文字內容。(I6e8fc)
API 變更
- FontFamily常數會移至- FontStyle,而不是 Builder 類別。(I06ced)
- 更新 FontSetting.weight和FontSetting.widthAPI,加入 Range 註解,並將權重的參數變更為 int。(Ia726c)
修正錯誤
- Material 程式庫中無法縮放的文字現在可與 Android 14 的非線性字型縮放功能正常運作。(I6601e)
1.2.0-alpha04 版本
2024 年 5 月 29 日
發布 androidx.wear.protolayout:protolayout-*:1.2.0-alpha04。1.2.0-alpha04 版包含這些修訂項目。
API 變更
- 新增非對稱圓角 API,可使用 2 個值分別指定每個圓角的半徑。(Icbd69)
- 擴充 FontSettingAPI,納入以下項目:
- 在 FontStyle中新增字型系列 API,以便指定要使用的字型系列順序清單。(Iba9f5)
- Material 的 LayoutDefaults中,內容和次要標籤之間的空間高度常數已重新命名,原本以「Edge content」為前置字元,現在更通用,可同時套用至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 版包含這些修訂項目。
新功能
- 新增 API,可為 FontStyle設定自訂權重值。(I7390a)
修正錯誤
- 修正因目標地圖空白而導致 getTouchDelegateInfo失敗的問題。(I2accf)
1.2.0-alpha02 版本
2024 年 5 月 1 日
發布 androidx.wear.protolayout:protolayout-*:1.2.0-alpha02。1.2.0-alpha02 版包含這些修訂項目。
API 變更
- 我們新增了支援功能,可針對個別可點選元素停用漣漪回饋。(If1ede)
- 由於 ArcModifiers不支援轉換功能 (Ic0827),因此已從中移除轉換 API。
- ArcDirectionProp建構工具現在需要建構函式中的值。(I76ada)
- PlatformDataValues.Builder.putAll方法可將一個- PlatformDataValue合併到另一個- PlatformDataValue。(I50ba3)
- Text#setIsScalable已重新命名為- Text#setScalable。(If920e)
- Material Text 可設定是否使用可縮放的大小 (使用者變更字型大小時會隨之變大)。(Ibc849)
- 我們新增了將內容說明設為 TitleChip的選項。(I5d21f)
- 修正 CompactChip,使其能正確處理僅含圖示的項目,並更新 API 以允許這個選項。(I6589e)
修正錯誤
- 修正初始化期間可能出現重複平台資料的問題。(Iba0fd)
- 在 DynamicDataNode中導入新的 getter,以擷取節點費用。取得動態節點配額時會使用這項費用。目前,具有固定值的節點費用為 0,所有其他節點的費用為 1。(Ia33e1)
- 從 NO_OP_QUOTA_MANAGER移除計數邏輯。(Ib50b8)
- 我們新增了 Lint 規則,會在未使用 setResponsiveContentInsetEnabled的情況下使用PrimaryLayout時發出警告,並提供快速修正功能。(I12025)
- 動態運算式節點數量有限。(Iffae8)
1.2.0-alpha01 版本
2024 年 3 月 6 日
發布 androidx.wear.protolayout:protolayout-*:1.2.0-alpha01。1.2.0-alpha01 版包含這些修訂項目。
新功能
- ProtoLayout Arc元素現在可選擇新增- ArcDirection(- Clockwise、- Counterclockwise或- Normal)。將這項行為新增至- Arc、- ArcLine或- ArcText,即可修正 RTL 版面配置中的行為。(I90699)
- EdgeContentLayout已更新為新的- setResponsiveContentInsetEnabled設定器,可與使用者體驗規範更妥善地保持一致,並在動態磚中將主要標籤固定在頂端,以及為標籤提供動態插邊,確保一致性。(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 度的長度。
- 日期時間格式支援動態資料類型的不同時區。
- 更完善的文字自動調整大小和省略選項,可處理截斷的文字。
- Spacer 支援擴展尺寸,並可選擇權重。
- 所有 ProtoLayoutAPI 的結構定義版本規定註解。
- 將任何 Clickable元素的目標區域擴大為 48 dp x 48 dp,以符合無障礙規定。
- 字型邊框間距預設為關閉,且是所有文字元素和含有文字的 Material 元件的唯一行為。
其他變更
- 如要查看第 1.1.0 版的完整異動清單,請參閱「beta01 版本資訊」。
1.1.0-rc01 版本
2024 年 1 月 24 日
發布 androidx.wear.protolayout:protolayout-*:1.1.0-rc01。查看 1.1.0-rc01 版的修訂項。
修正錯誤
- 啟用更新後,PlatformTimeUpdateNotifierImpl會立即勾選。(I77145)
- CircularProgressIndicator已修正 RTL 版面配置問題。從現在起,所有情況都會順時針旋轉。(I95ee3)
- 針對 Skia 圓弧繪圖問題新增解決方法。(I08f09)
1.1.0-beta01 版本
2024 年 1 月 10 日
發布 androidx.wear.protolayout:protolayout-*:1.1.0-beta01。1.1.0-beta01 版包含此連結所列的修訂項目。
新功能
Wear ProtoLayout 的 1.1.0-beta01 版指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。Wear ProtoLayout 1.1 包含下列新功能和 API:
- ArcLine現在支援漸層,方法是新增- Brush(含- SweepGradient),並在上限加上陰影,藉此在現有- StrokeCap上新增- Shadow,更準確地呈現大於 360 度的長度。
- DynamicInstant支援時區日期時間格式設定。- DynamicInstant和- DynamicDuration可做為狀態或平台資料類型。
- 文字大小自動調整功能,可設定多種大小,FontStyle.setSizes文字大小會根據父項內的空間自動縮放。此外,我們也新增TEXT_OVERFLOW_ELLIPSIZE並淘汰TEXT_OVERFLOW_ELLIPSIZE_END,改善溢位文字的省略號選項。
- Spacer現在支援具有選用權重的展開維度。我們新增了- DimensionBuilders.weight輔助方法,用於建構- ExpandedDimensionProp。
- 支援使用 Modifier.visible動態隱藏及取消隱藏版面配置元素。包括在BoolProp中加入動態值。
- 所有 ProtoLayoutAPI 現在都有結構定義版本需求註解,且可以在呼叫較新的 API 前檢查版本。
- 現在,每個含有 Clickable的元素在算繪器中的目標區域都會擴展至至少 48x48,以更完善地支援無障礙需求。
- 繼其他 Material 元件和 Compose 計畫後,我們現在已在所有 Text元素中預設關閉字型邊框間距。此外,AndroidTextStyle和相關設定程式已從公用 API 中移除。 並修正下列錯誤:
- 在 EdgeContentLayout中新增邊緣內容的設定器,因此邊緣內容可放置在其他內容之前。
- 遇到無法辨識的列舉值時,一律擲回例外狀況。
- 如果運算式產生無效的數值 (NaN 或無限大) 或擲回 ArithmeticException,則結果會失效。
API 變更
- 更新 SweepGradientAPI,允許在建構函式中接受顏色或ColorStops。(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 版包含此連結所列的修訂項目。
新功能
API 變更
- 文字溢位選項 TEXT_OVERFLOW_ELLIPSIZE_END現已淘汰。請使用新的TEXT_OVERFLOW_ELLIPSIZEAPI,行為與舊版 API 非常相似。(I822d8)
- 繼其他 Material 元件和 Compose 計畫後,我們現在已在所有 Text 元素中預設關閉字型邊框間距。此外,AndroidTextStyle和相關的 setter 已從公用 API 中移除。(I79094、Ib0b03、I32959、Iaf7d5、Ifa298、I0a4ae、Ida9d3)
- Modifier.hidden已替換為- Modifier.visible(I56902)
- FontStyle#setSizes現在接受 int,而非- SpProp引數。(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 版包含此連結所列的修訂項目。
新功能
- 新增實驗性支援,可動態隱藏/取消隱藏版面配置元素 (I64a78)
- 在 BoolProp中新增動態值支援 (I2fe96)
- 在 ProtoLayoutAPI 中新增結構定義版本規定註解 (I0f03c)
- 在 TextOverflow中新增選項,擴充 API,即使未達到最大行數 (但文字空間不足),也能在固定父項容器中將文字刪節。(I110a9)
- 新增輔助方法 DimensionBuilders.weight,用於建構具有權重的ExpandedDimensionProp。(I4f72b)
- DynamicInstant和- DynamicDuration可做為狀態或平台資料類型。(I6819f)
API 變更
- 更新 API,隱藏 DynamicZonedDateTime並將所有作業移至DyanamicInstant(I34b94)
- Spacer 現在支援寬度/高度的 Expanded 維度。(Ie7c94)
- 在 Renderer 中支援點擊目標區域擴充功能 (I39c79)
1.1.0-alpha02 版本
2023 年 11 月 15 日
發布 androidx.wear.protolayout:protolayout-*:1.1.0-alpha02。查看 1.1.0-alpha02 版的修訂項。
新功能
- 在 API 中新增 ArcLineStrokeCapShadow欄位。(I830ec)
- 擴充 API,以便指定要擴展的 Spacer 寬度或高度。(I757ca)
- 我們新增了實驗性 API,可根據文字在父項內擁有的空間,自動調整文字大小。(Ibbe63)
- 支援可點擊的最小尺寸 (I178e3)
- 新增了 StrokeCapShadow的算繪器支援。(I48b17)
- 在 ArcLine中新增掃描漸層的算繪器支援功能。(I4d5bb)
1.1.0-alpha01 版本
2023 年 10 月 18 日
發布 androidx.wear.protolayout:protolayout-*:1.1.0-alpha01。1.1.0-alpha01 版包含以下修訂項目。
新功能
- 在 Arcline中新增筆刷選項,支援SweepGradient。(Ie7ce3)
- 新增支援時區日期時間格式。(Ibfae0)
- 新增時區日期時間格式所需的 Proto 和 Java 包裝函式。(I97126)
- 新增讀取儲存在 DynamicDataValue中的值的 Getter。(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 版包含此連結所列的修訂項目。
1.0.0 的主要功能
ProtoLayout 程式庫會導入 API,用於建立可在不同 Wear OS 介面使用的版面配置和運算式。舉例來說,資訊方塊程式庫會使用這些 API 支援平台資料繫結 (加快資訊方塊資料更新速度) 和動畫。
1.0.0-rc01 版
2023 年 7 月 26 日
發布 androidx.wear.protolayout:protolayout-*:1.0.0-rc01。1.0.0-rc01 版包含以下修訂項目。
- 如要從「圖塊」遷移至 ProtoLayout,請按照這裡的說明操作。
API 變更
- 我們已從 Arc 元素中移除 setLayoutConstraintForDynamicAnchorAngle和getLayoutConstraintForDynamicAnchorAngle方法。這些方法是誤加的,對提供的版面配置沒有任何影響。(If7d01)
- 我們將 ProtoLayout版面配置的最大深度限制為 30 個巢狀LayoutElements。(I8a74b)
修正錯誤
1.0.0-beta01 版
2023 年 6 月 21 日
發布 androidx.wear.protolayout:protolayout-*:1.0.0-beta01。1.0.0-beta01 版包含此連結所列的修訂項目。
新功能
- 允許設定時鐘以進行時間繫結測試。(I05622)
API 變更
- PlatformDataReceiver.onData()和- StateBuilders.Builder.addKeyToValueMapping現在接受- DynamicDataKey到- DynamicDataValue的型別安全對應,而非不安全的泛型。也就是說,現在輸入- DynamicDataValue時,系統會一併輸入- DynamicType。- HEART_RATE_ACCURACY_X常數已移至- PlatformHealthSources的根目錄,以符合其他 Android 常數的位置。- HEART_RATE_ACCURACY_Xint 常數現在會直接用於- DynamicHeartRateAccuracy.constant()和- DynamicHeartRateAccuracy.dynamicDataValueOf(),而非值常數。(I82ff5)
- PlatformHealthSources.Constants類別可例項化,但這是錯誤。這個問題現已修正。(Icb849)
- PlatformTimeUpdateNotifier#setReceiver現在會接收- Runnable,而不是- Supplier函式和- Executor,以便通知。(I9d938)
- 我們已將 PlatformTimeUpdateNotifier#setReceiver中的參數類型從Callable變更為Supplier。(I664bf)
- CompactChip和- TitleChip現在支援新增圖示。(I5a01e)
修正錯誤
1.0.0-alpha11 版本
2023 年 6 月 7 日
發布 androidx.wear.protolayout:protolayout-*:1.0.0-alpha11。1.0.0-alpha11 版本包含以下修訂項目。
新功能
- 我們新增了 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)
修正錯誤
1.0.0-alpha10 版本
2023 年 5 月 24 日
發布 androidx.wear.protolayout:protolayout-*:1.0.0-alpha10。1.0.0-alpha10 版本包含以下修訂項目。
新功能
- 新增 AppDataKey,用於存取應用程式推送的狀態;新增PlatformDataKey,用於存取平台資料;在StateStore中新增命名空間支援。(I7985e)
- 支援 DynamicBool的Equal和NotEqual作業。(I6a0c1)
API 變更
- FontStyles類別現已進入最終階段 (Iaa2ea)
- 淘汰了 LayoutElementBuilders#FontStyles。請使用androidx.wear.protolayout.Typography或自行建立FontStyle。(Ic929b)
- 從 Action介面隱藏Action#Builder巢狀介面。LoadAction和LaunchAction類別已提供 Builder 的實作項目。(I1d70c)
- 允許使用 DynamicFloat和FloatProp。請注意,FloatProp不需要版面配置限制,因為它不會做為版面配置變更屬性使用。(I286ac)
- 由於 LoalAction和SetStateAction動作尚未真正受到支援,因此已移除。(I5d6a6)
- 新增對內嵌圖片資源 ARGB_8888 格式的支援。(I8a07c)
- 將 StateEntryValue重新命名為DynamicDataValue,並更新狀態 API 以使用DynamicDataKey(If1c01)
- 為確保每個 StateStore執行個體的記憶體用量和狀態更新時間受到妥善控管,我們限制了StateStore中允許的項目數量。因此,開發人員必須確保地圖中的項目不超過MAX_STATE_ENTRY_COUNT個,否則在建立或更新StateStore時會收到IllegalStateException。(Ibadb3)
- 隱藏 OnLoadTrigger和OnConditionMetTrigger類別,並將OnConditionMetTrigger的setTrigger重新命名為setCondition。(Ibf629)
- 基於效能和相容性考量,ProtoLayout轉譯器不會支援AnimatedVectorDrawable資源中的完整功能集。在定義支援的集合之前,我們會將這些 API 標示為實驗功能。(Ic6daf)
- 新增每日距離、每日卡路里和每日樓層的動態型別。平台健康狀態來源的金鑰現在位於 PlatformHealthSources.Keys(Ib7637) 下方
- Easing.cubicBezier方法會取代- CubicBezierEasing.Builder。因此系統會移除- EasingFunction類別,而該類別的緩和常數現在可直接從- Easing介面存取。此外,- setInfiniteRepeatable也已替換為- INFINITE_REPEATABLE_WITH_RESTART和- INFINITE_REPEATABLE_WITH_REVERSE(Ib41e7)
- 實作 PlatformDataProvider,提供心率和每日步數。已從公用 API 中移除SensorGateway介面。(I55b84)
- 新增 PlatformDataProvider,並更新StateStore,在節點需要運算式管道的供應商支援金鑰時,向PlatformDataProvider註冊。(Ib616a)
- SensorGateway不再是- Closeable,因為它不再維護任何狀態。(I6b4f7)
- 允許在 CircularProgressIndicator中使用FloatProp和DynamicFloat追蹤進度。支援版本 1.2 的轉譯器可使用這項功能。如果提供staticValue,舊版算繪器會改用該值,否則會改用 0 (I0d91b)
- MultiButtonLayout常數已重構為- LayoutDefaults.MultiButtonLayoutDefaults類別,現在包含按鈕大小的常數,視版面配置中的按鈕數量而定。(I13973)
- 支援在 Material Text 中使用 StringProp和DynamicString。支援版本 1.2 的轉譯器可使用這項功能。舊版算繪器會改用提供的靜態值。將Text#getText傳回型別從String更新為StringProp。(I7275b)
1.0.0-alpha09 版本
2023 年 5 月 10 日
發布 androidx.wear.protolayout:protolayout-*:1.0.0-alpha09。查看 1.0.0-alpha09 版的修訂項。
新功能
- 我們新增了實驗性擴充功能版面配置元素。請注意,這項功能預設無法使用,需要能夠解讀版面配置元素的轉譯器擴充功能。(I6581d)
- 為 ArcLine新增StrokeCap支援。(I94951)
- 新增對條件式即時作業的支援。(I489a7)
- 新增條件式時間長度作業的支援。(Iab469)
- 新增從秒數建立時間長度的支援功能。(Ib5fa1)
API 變更
- 已從 DynamicTypeEvaluator移除enable/disablePlatformSource方法。呼叫端應負責更新。(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)
- 我們已在 ProtoLayoutMaterial 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 和 float 格式化工具現在使用 Builder 模式。(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 版的修訂項。
新功能
API 變更
- sensorGateway#registerSensorGatewayConsumer會將資料型別做為參數,而不是 Consumer 中的方法。(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-alpha06。1.0.0-alpha06 版本包含以下修訂項目。
新功能
- 我們新增了實驗性 API,可在動態運算式中使用心率和每日步數 (Ifd711)
- 我們新增了動畫的倒轉和延遲功能。(Ic25f7)
- 我們已在 Border 和 Background 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 版包含此連結所列的修訂項目。
新功能
- 我們已在 Modifiers物件中新增實驗性的「內容更新」動畫。每當元素 (使用這個修飾符) 或其中一個子項在版面配置更新期間發生變化,就會觸發這項動畫。(bd03e5d)
API 變更
- 我們已將 forwardRepeatDelayMillis和reverseRepeatDelayMillis新增至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-alpha04。1.0.0-alpha04 版本包含以下修訂項目。
新功能
- ObservableStateStore現在也會在移除金鑰時通知聽眾。
- 我們已在 DeviceParameters中新增了算繪器結構定義版本和字型比例 (可用於有條件地建立版面配置,以回應不同版本和字型設定)。
- 我們新增了對 DynamicInt32值動畫效果的支援 (I05485)
- 我們新增了 OnLoad和OnConditionalMet觸發條件。這些可用於啟動支援觸發條件的動畫。
- 我們已為展開的尺寸新增版面配置權重,並為包裝的尺寸新增最小尺寸。
- 我們新增了時間長度和即時動態類型。這些函式可用於動態運算式,代表時間瞬間或時間長度。
- 我們新增了對 AnimatedVectorDrawable和SeekableAnimatedVectorDrawable的支援,做為版面配置資源。
API 變更
- 感應器資料需要 API 29 以上版本。(I8099e)
- 我們新增了兩個 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 版包含以下修訂項目。
新功能
- 我們在 protolayout-express 程式庫中的動態類型中新增了 toByteArray()和fromByteArray()。
- 我們在 protolayout-expression 程式庫的動態類型中新增了 toString()。
- 我們為動態類型新增了評估支援服務。protolayout-expression-pipeline 程式庫中的 DynamicTypeEvaluator類別可用來評估先前建立的動態類型 (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 版本包含以下修訂項目。
新功能
- androidx.wear.tiles:tiles的版面配置建構工具將移至- androidx.wear.protolayout:protolayout。- androidx.wear.tiles:tiles中的版面配置建構工具將在下一個 Alpha 版本中淘汰。
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 版包含此連結所列的修訂項目。
新功能
- 這個版本推出新的程式庫「ProtoLayout Expression」,可從動態變數建立運算式。
