Wear protolayout
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 8 月 7 日 | 1.2.0 | - | - | - |
宣告依附元件
如要新增 Wear-protolayout 的依附元件,必須將 Google Maven 存放區新增至 專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0-alpha03" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0-alpha03" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0-alpha03" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha03") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0-alpha03") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0-alpha03") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.2 版本
1.2.0 版本
2024 年 8 月 7 日
發布 androidx.wear.protolayout:protolayout-*:1.2.0
。1.2.0 版包含。這些修訂版本。
自 1.1.0 版以來的重要異動
- 更新了
FontStyle
,現在能針對變數軸提供額外的字型支援,以及更完善的字型選擇 API,以支援即將推出的 Flex 字型。 - 其他修飾符支援:
- 轉換輔助鍵 可對動畫提供翻譯、旋轉及縮放。
- 為每個圓角半徑指定不同的值 (水平和垂直)。
- 將任何使用可點擊修飾符的元素的可輕觸區域延伸至
48dp
的可輕觸區域,改善所有觸控目標的無障礙功能48dp
。 - 改善
PrimaryLayout
和EdgeContentLayout
,新增setResponsiveContentInsetEnabled
以進一步支援這些版面配置在不同螢幕大小的回應式行為,並改善資訊方塊的一致性。 - 針對 Android 14 的非線性字型縮放功能,改善 Material 文字的縮放/非縮放功能。
- 改善對所有弧形元素的 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 方塊,因此只有在未傳入主要或次要標籤時,才能將其用做圖示。(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
) 中新增具有Clockwise
、CounterClockwise
和Normal
選項的setArcDirection
,以便在不同的版面配置方向 (例如 LTR 和 RTL) 中獲得更完善的支援。 - 將任何使用
Clickable
修飾符元素的可輕觸區域擴充為48dp
的至少48dp
,以改善所有觸控目標的無障礙功能。 - 改善
PrimaryLayout
和EdgeContentLayout
,新增setResponsiveContentInsetEnabled
以進一步支援這些版面配置在不同螢幕大小的回應式行為,並改善資訊方塊的一致性。新增 Linter 警告,以建議這些 API 的用法,並快速修正。 - 改善 Material
Text
的縮放/非縮放功能,適用於 Android 14 的非線性字型縮放功能。
API 變更
- 預設字型系列名稱 (
DEFAULT_SYSTEM_FONT
) 並不使用preferredFontFamilies
API,因此已移除。(I39dab)。 - 傳入
FontSetting.width
的參數必須為正數。(I1266f)。
1.2.0-alpha05 版本
2024 年 6 月 26 日
發布 androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
。1.2.0-alpha05 版包含這些修訂版本。
新功能
- 在
Material.CompactChip
中新增hasText
方法,檢查文字內容是否已設定。(I6e8fc)。
API 變更
FontFamily
常數會移至FontStyle
中,而非其建構工具類別。(I06ced)。- 更新
FontSetting.weight
和FontSetting.width
API,加入範圍註解,並將權重參數變更為 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)。
- 擴充
FontSetting
API 以加入: - 已將字型系列 API 新增至
FontStyle
,允許指定應使用之字型系列的順序清單。(Iba9f5)。 - 重新命名 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 版包含這些修訂版本。
新功能
- 新增了用於設定
FontStyle
自訂權重值的 API。(I7390a)。
修正錯誤
- 修正
getTouchDelegateInfo
中因目標對應空白而失敗的問題。(I2accf)。
1.2.0-alpha02 版本
2024 年 5 月 1 日
發布 androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
。1.2.0-alpha02 版包含這些修訂版本。
API 變更
- 我們已新增對個別可點擊元素停用分享關係回應的支援功能。(If1ede)。
- 用於轉換的 API 已從
ArcModifiers
中移除,因為其不支援該功能 (Ic0827) ArcDirectionProp
建構工具現在需要建構函式中的值。(I76ada)。PlatformDataValues.Builder.putAll
方法允許將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
setter,使其更能符合使用者體驗指南、將主要標籤置於固定位置,以及標籤的回應式插邊,讓資訊方塊內的一致性。(I60175)。- 我們新增了
PrimaryLayout.setResponsiveContentInsetEnabled
,可在這個版面配置的主要標籤、次要標籤和底部方塊中新增回應式插邊,避免內容超出螢幕邊緣。(I0c457)。 - 新增從
CircularProgressIndicator
移除外邊界的方法,以做為較小的元件使用。(I55c06)。
API 變更
- 資訊方塊轉譯器現在預設會排除所有文字元素的字型邊框間距,而且沒有選項加入。(I3e300)。
修正錯誤
- 修正文字全部使用刪節號、字母間距和置中對齊時發生的文字對齊問題。(I716c7)。
- 新增滑雪板繪圖問題的解決方法。(I08f09)。
- 修正 RTL 版面配置的
ArcLine
繪圖方向。(I6c141)。
1.1 版本
1.1.0 版本
2024 年 2 月 7 日
發布 androidx.wear.protolayout:protolayout-*:1.1.0
。查看 1.1.0 版的修訂項。
自 1.0.0 版以來的重要變更
- 在
ArcLine
中支援漸層,且對於長度超過 360 度的呈現方式更好。 - 日期時間格式設定對動態資料類型支援不同的時區。
- 改善文字自動調整大小和刪減選項,以處理截斷的文字。
- 空格字元支援可選用的展開尺寸。
- 所有
ProtoLayout
API 的結構定義版本要求註解。 - 將目標區域擴大為任何
Clickable
元素至 48 dp x 48 dp,以滿足無障礙需求。 - 字型邊框間距預設為關閉,這是所有內含文字的 Text 元素和 Material Design 元件的唯一行為。
其他變更
- 如需更完整的 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)。 - 已修正 RTL 版面配置的
CircularProgressIndicator
。從現在開始,所有情況下都會順時針旋轉。(I95ee3)。 - 新增滑雪板繪圖問題的解決方法。(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
現在支援具有可選用權重的展開尺寸。針對建構ExpandedDimensionProp
,我們新增了輔助方法DimensionBuilders.weight
。- 支援使用
Modifier.visible
動態���藏及取消隱藏版面配置元素。包括在BoolProp
中使用動態價值。 - 所有
ProtoLayout
API 現在都有結構定義版本要求註解和版本,可在呼叫新版 API 前檢查。 - 現在,含有
Clickable
的每個元素在轉譯器中的目標區域擴展至至少 48x48,以更符合無障礙需求。 - 在遵循其他 Material Design 元件和 Compose 計畫之後,我們現已預設關閉所有
Text
元素的字型邊框間距。此外,AndroidTextStyle
和相關 setter 已從公用 API 中移除。 修正了下列錯誤: - 新增了 setter,用於在
EdgeContentLayout
中放置邊緣內容,以便能夠放在其他內容之前。 - 遇到無法辨識的列舉值時,持續擲回例外狀況。
- 運算式產生無效數值 (NaN 或無限) 或擲回
ArithmeticException
時,請將運算式的結果失效。
API 變更
- 更新
SweepGradient
API,允許在建構函式中接受顏色或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
現已淘汰。請使用非常類似的新 APITEXT_OVERFLOW_ELLIPSIZE
。(I822d8)。 - 在其他 Material Design 元件和 Compose 計畫之後,我們現已預設關閉所有文字元素的字型邊框間距。此外,
AndroidTextStyle
和相關 setter 已從公用 API 中移除。(I79094、Ib0b03、I32959、Iaf7d5、Ifa298、I0a4ae、Ida9d3) 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-alpha03
。1.1.0-alpha03 版包含此連結所列的修訂項目。
新功能
- 針對動態隱藏/取消隱藏版面配置元素新增實驗性支援。(I64a78)
- 為
BoolProp
新增動態值支援 (I2fe96) - 將結構定義版本要求註解新增至
ProtoLayout
API (I0f03c) - 使用
TextOverflow
中的新選項擴充 API,在未達到最大行數的情況下移除固定父項容器中的文字 (但文字空間不足)。(I110a9)。 - 新增了建立權重
ExpandedDimensionProp
的輔助方法DimensionBuilders.weight
。(I4f72b)。 DynamicInstant
和DynamicDuration
可做為狀態或平台資料類型使用。(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-alpha01
。1.1.0-alpha01 版包含以下修訂項目。
新功能
- 已在
Arcline
中新增筆刷選項,支援SweepGradient
。(Ie7ce3)。 - 新增分區日期時間格式設定支援。(Ibfae0)。
- 新增了區域日期時間格式設定所需的 proto 和 Java 包裝函式。(I97126)。
- 新增用於讀取
DynamicDataValue
中儲存的值的 getter。(Ie6cea)。 - 新增了 setter,用於在
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 版包含以下修訂項目。
- 如要從 Tiles ��移至
ProtoLayout
,請按照這裡的說明操作。
API 變更
- 我們已從 Arc 元素中移除
setLayoutConstraintForDynamicAnchorAngle
和getLayoutConstraintForDynamicAnchorAngle
方法。這些是不小心新增的方法,對提供的版面配置沒有任何影響。(If7d01)。 - 我們已限制
ProtoLayout
版面配置的巢狀LayoutElements
最大深度可達 30 個。(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_X
int 常數現在可直接在DynamicHeartRateAccuracy.constant()
和DynamicHeartRateAccuracy.dynamicDataValueOf()
中使用,而不是值常數。(I82ff5)。PlatformHealthSources.Constants
類別可錯誤地例項化。不過現在這個問題已經解決。(Icb849)。PlatformTimeUpdateNotifier#setReceiver
現在會收到Runnable
而非Supplier
函式,並接收Executor
通知。(I9d938)。PlatformTimeUpdateNotifier#setReceiver
中的參數類型已從Callable
變更為Supplier
。(I664bf)。CompactChip
和TitleChip
現在支援在其中加入圖示。(I5a01e)。
修正錯誤
- 將 Prop 訊息更新為動態欄位,改用其中一個欄位 (I81739)
- 針對含有 setter 的超載 (Ied70c) 重複使用 setter 實作
- 在具有超載的 setter 中正確記錄指紋 (I86ed2)
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) 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-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)。 - 允許搭配
FloatProp
使用DynamicFloat
。請注意,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 標示為實驗性 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 變更
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()
已移除。此外,除了 NaNDynamicFloat
值,並將DynamicInt32
範圍限制為DynamicFloat
以外,現在也會發出無效的動態結果。(I6ac1e)。- Int 和 float 格式設定器現在使用建構工具模式。(Ieb213)。
修正錯誤
- 已從「imatable」欄位中移除備用靜態值。(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
會將資料類型做為參數,而非消費者中的方法。(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)。
- 我們已在邊框和背景中新增
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
方法現在接受 Executor。(I346ab)。- 已將
startEvaluation
方法新增至BoundDynamicType
,以便在動態類型繫結後觸發評估作業。(I19908)。
修正錯誤
- 動畫物件會重複使用於單一元素的後續動畫。(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」透過動態變數建立運算式