wear protolayout
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 12 月 11 日 | 1.2.1 | - | - | 1.3.0-alpha05 |
宣告依附元件
如要為 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-alpha04" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0-alpha04" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0-alpha04" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0-alpha04") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0-alpha04") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.3 版本
1.3.0-alpha05 版
2024 年 12 月 11 日
發布 androidx.wear.protolayout:protolayout-*:1.3.0-alpha05
。1.3.0-alpha05 版包含這些修訂項目。
新功能
修正錯誤
- 這個程式庫現在使用 JSpecify 空值註解,這是類型用法。Kotlin 開發人員應使用下列編譯器引數,強制執行正確的用法:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(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-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 字型。- 支援其他修飾符:
- 轉換修飾符可提供平移、旋轉和縮放功能,不論是否有動畫皆可使用。
- 為每個圓角半徑指定不同的值 (水平和垂直)。
- 擴大使用可點擊修飾符的任何元素的觸控區域,使其至少為
48dp
x48dp
,進而改善所有觸控目標的無障礙性。 - 新增
setResponsiveContentInsetEnabled
來改善PrimaryLayout
和EdgeContentLayout
,以便在不同螢幕大小下,更妥善地支援這些版面配置的回應式行為,並改善資訊方塊的一致性。 - 改善 Material Text 的縮放/非縮放功能,以便在 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 版包含這些修訂項目。
修正錯誤
- 我們已修正標準 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,透過指定要使用的偏好字型系列名稱,支援即將推出的 Flex 字型。
- 設定不同的字型變化設定,例如
- 擴充
Corner
修飾符,以便使用不同的水平和垂直值指定每個CornerRadius
,讓您建立具有不對稱角落的元素。 - 新增
Transformation
修飾符,提供LayoutElement
的平移、旋轉和縮放功能。您可以使用動態值為這些轉換效果製作動畫。 - 在所有弧形元素 (
Arc
、ArcLine
和ArcText
) 中新增setArcDirection
和Clockwise
、CounterClockwise
和Normal
選項,以便在不同版面配置方向 (例如 LTR 和 RTL) 中提供更完善的支援。 - 透過擴大使用
Clickable
修飾符的任何元素可點選區域,使其至少為48dp
乘以48dp
,改善所有觸控目標的無障礙性。 - 新增
setResponsiveContentInsetEnabled
來改善PrimaryLayout
和EdgeContentLayout
,以便在不同螢幕大小下,更妥善地支援這些版面配置的回應式行為,並改善方塊的一致性。新增 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 版包含這些修訂項目。
新功能
- 將
hasText
方法新增至Material.CompactChip
,以檢查是否已設定文字內容。(I6e8fc)
API 變更
FontFamily
const 已移至FontStyle
,而非其建構工具類別。(I06ced)。- 更新
FontSetting.weight
和FontSetting.width
API 以納入 Range 註解,並將 weight 參數變更為 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
中,原本以「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)。
- 轉換 API 已從
ArcModifiers
中移除,因為該 API 不支援這項功能 (Ic0827) 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 規則,在使用
PrimaryLayout
但未使用setResponsiveContentInsetEnabled
時,回報警告並提供快速修正方式。(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)。
- 新增解決 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 支援可選重量的展開尺寸。
- 所有
ProtoLayout
API 的結構定義版本需求註解。 - 將目標區域擴大至任何
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
現在支援漸層效果,方法是透過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
的元素,現在的目標區域都會在轉譯器中延伸至至少 48 x 48,以便更妥善地支援無障礙需求。 - 根據其他 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 元件和 Compose 計畫,我們現在已預設關閉所有 Text 元素的字型邊框間距。此外,
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,即使未達到最大行數 (但 Text 的空間不足),也能將固定父項容器中的 Text 省略。(I110a9) - 新增輔助方法
DimensionBuilders.weight
,用於建構具有權重的ExpandedDimensionProp
。(I4f72b) DynamicInstant
和DynamicDuration
可用於狀態或平台資料類型。(I6819f)。
API 變更
- 更新 API 以隱藏
DynamicZonedDateTime
,並將所有操作作業移至DyanamicInstant
(I34b94) - Spacer 現在支援寬度/高度的展開維度。(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 以便指定要展開的 Spacer 寬度或高度。(I757ca)。
- 我們新增了實驗性 API,可根據父項內的空間自動調整文字大小。(Ibbe63)
- 支援可點擊的最小尺寸 (I178e3)
- 新增了
StrokeCap
Shadow
的轉譯器支援。(I48b17)。 - 在
ArcLine
中新增掃描漸層的轉譯器支援。(I4d5bb)。
1.1.0-alpha01 版本
2023 年 10 月 18 日
發布 androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
。1.1.0-alpha01 版包含以下修訂項目。
新功能
- 已在
Arcline
中新增筆刷選項,並支援SweepGradient
。(Ie7ce3)。 - 新增對時區日期時間格式的支援。(Ibfae0)
- 新增區域日期/時間格式所需的 proto 和 Java 包裝函式。(I97126)。
- 新增 getter,用於讀取儲存在
DynamicDataValue
中的值。(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 版包含以下修訂項目。
- 如要從方塊遷移至
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_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 訊息,改為使用 oneof (I81739)
- 針對含有 setter 的超載,重複使用 setter 實作 (Ied70c)
- 在具有超載的 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) TimeGateway
介面已在protolayout-expression-pipeline
程式庫中由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)。 - 允許使用
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
類別,並將setTrigger
重新命名為setCondition
。OnConditionMetTrigger
(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
以提供心率和每日步數。SensorGateway
介面已從公用 API 中移除。(I55b84)。 - 新增
PlatformDataProvider
,並更新StateStore
以註冊至PlatformDataProvider
,當運算式管道中的節點需要供應商支援的鍵時,(Ib616a)。 SensorGateway
不再是Closeable
,因為它不再維護任何狀態。(I6b4f7)。- 允許在
CircularProgressIndicator
中使用FloatProp
和DynamicFloat
追蹤進度。此功能適用於支援 1.2 版的轉譯器。如果提供staticValue
,舊轉譯器會改用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)。
修正錯誤
- 已從可動畫處理的欄位中移除備用靜態值。(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)。
- 我們已在邊框和背景中新增
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」,可從動態變數建立運算式。