Wear Compose
| 最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
|---|---|---|---|---|
| 2025 年 10 月 22 日 | 1.5.4 | - | - | 1.6.0-alpha04 |
宣告依附元件
如要為 Wear 新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱「Google 的 Maven 存放區」一節。
在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.5.4" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.5.4" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.5.4" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.4") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.5.4") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.5.4") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.5.4") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.4") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
Wear Compose 1.6 版
1.6.0-alpha04 版本
2025 年 10 月 22 日
發布 androidx.wear.compose:compose-*:1.6.0-alpha04。1.6.0-alpha04 版包含這些修訂項目。
API 變更
- 為
TransformingLazyColumn實作reverseLayout(I19f9e、b/352513793) - 新增
ConfirmationDialogDefaults.VariantFailureIcon,可在FailureConfirmationDialog中使用。在某些情況下,這個新的通用錯誤圖示可能比ConfirmationDialogDefaults.FailureIcon更合適,因為後者會顯示手機連線中斷。(Ifc851、b/443115305)
修正錯誤
- 重新調整
LaunchedEffect的使用方式,提升 Picker 的效能。(I94519、b/418192973) - 修正 API 36 以上版本中
SwipeDismissableNavHost的錯誤:在預測返回動畫期間按下返回鍵,會中斷並重新啟動動畫。實作現在使用SeakableTransitionState.animateTo,而非 Animatable,這有助於提升效能。(I2241f、b/428156670) - 修正
AlertDialog的無障礙公告順序錯誤,確認按鈕會公告為「按鈕」。「確認」而非標準的「確認」。按鈕。(Ic2381、b/429378202) - 提升小螢幕上
TimePicker數字的可視度。(I68386、b/447625365) - 從 Wear Compose Foundation 移除 Lazy Layout 分支 - 這表示
TransformingLazyColumn現在使用 Compose Foundation Lazy Layout 實作項目 (包括預先擷取),且在大多數情況下,可提升影格時間的效能。(Idd743、b/445911630)
1.6.0-alpha03 版本
2025 年 10 月 8 日
發布 androidx.wear.compose:compose-*:1.6.0-alpha03。1.6.0-alpha03 版包含這些修訂項目。
API 變更
- 在
TimePicker中新增 參數,指定一開始要聚焦的時間元件。根據預設,系統會根據語言代碼和TimePickerType,選取第一個可用的元件。(Ie5dfe、b/437015874) - 已移除
CircularProgressIndicatordrawCircularProgressIndicator方法中未使用的targetProgress參數。(Ieeb3c、b/430544552)
修正錯誤
- 實作缺少的
TransformingLazyColumnverticalAlignment支援功能 - 現在支援頂端、底部或中央的標準排列方式。(I2e630、b/444143326) - 改善彎曲文字寬度計算方式,將文字前後的空格納入考量 (可能導致包含彎曲文字的螢幕截圖無法正常顯示,尤其是具有
TimeText等背景的文字)。(I924a4、b/446601899) - 更新 Compose Foundation 的
WarpedCurvedTextRenderer,選擇使用androidx.emoji2中的EmojiCompatInitializer,修正執行階段類別錯誤。(I589b4、b/444422736) - 更新
ScalingLazyColumn,使用CollectionInfo專注於可捲動的節點,以便在更多情境中使用旋鈕,例如Material3AlertDialog。(I6be3c、b/445332360)
1.6.0-alpha02 版本
2025 年 9 月 24 日
發布 androidx.wear.compose:compose-*:1.6.0-alpha02。1.6.0-alpha02 版包含這些修訂項目。
API 變更
- 導入使用新
CurvedTextStyle參數warpOffset的文字扭曲功能,改善彎曲文字的顯示效果,特別是手寫體字型。(If5dcb)
修正錯誤
- 在
TransformingLazyColumn中捲動時,最佳化項目動畫快取。(I62ae8) OpenOnPhoneDialog和ConfirmationDialog變化版本已更新為設定FLAG_KEEP_SCREEN_ON,因此動畫會完整播放,對話方塊也會如預期自行關閉。(Iad7d4)- 修正錯誤:在 API 36 以上版本中,
Modifier.edgeSwipeToDismiss與SwipeDismissableNavHost搭配使用時會異常終止。(Ifc13d) - 更新與新
CurvedTextStyle warpOffset參數相關的說明文件和註解,以正確參照「未指定」案例。(I41aa5)
1.6.0-alpha01 版本
2025 年 9 月 10 日
發布 androidx.wear.compose:compose-*:1.6.0-alpha01。1.6.0-alpha01 版包含這些修訂項目。
API 變更
- 為
Card、TitleCard、OutlinedCard和AppCard新增不可點選的變體 (I509bb、b/406690146) - 已從新的不可點選資訊卡 API 中移除
interactionSource參數。(If0c7a、b/440323280) - 在
TimePicker元件中新增MinutesSeconds型別,只會顯示分鐘和秒數欄,省略小時欄 (Ia9e94、b/438004664)
修正錯誤
- 修正
HorizontalPagerScaffold的修飾符參數用法,避免新增Modifier.fillMaxSize()時,HorizontalPager失去頁面指標 (I07ae1、b/441682601) - 預設會將
ScrollIndicator方向與內容版面配置方向對齊。(I0da0f、b/441489028) - 修正與
TransformingLazyColumn搭配使用時的ScrollAway問題。導覽至其他畫面再返回後,TimeText無法正確捲動。(Ic0ef1、b/433549148) - 修正了螢幕頂端/底部邊緣案例的
TransformingLazyColumnSCROLL_BACKWARDS和SCROLL_FORWARDS語意回報。(I5c28d、b/405205994) - 修正
SwipeDismissableNavHost中的錯誤:在 API 36 上向後滑動後,進行中的轉場效果不會標示為完成。(Ife72e、b/441089689) - 將預設
OpenOnPhoneMaxSweepAngle更新為 200 度,以免「檢查手機」的部分翻譯遭到截斷。(Ib2e4c、b/428243902)
Wear Compose 1.5 版
1.5.4 版本
2025 年 10 月 22 日
發布 androidx.wear.compose:compose-*:1.5.4。1.5.4 版包含這些修訂項目。
修正錯誤
- 重新調整
LaunchedEffect的使用方式,提升 Picker 的效能。(I94519、b/418192973) - 修正 API 36 以上版本中
SwipeDismissableNavHost的錯誤:在預測返回動畫期間按下返回鍵,會中斷並重新啟動動畫。實作現在使用SeakableTransitionState.animateTo,而非 Animatable,這有助於提升效能。(I2241f、b/428156670) - 修正
AlertDialog的無障礙公告順序錯誤,確認按鈕會公告為「按鈕」。「確認」而非標準的「確認」。按鈕。(Ic2381、b/429378202)
1.5.3 版本
2025 年 10 月 8 日
發布 androidx.wear.compose:compose-*:1.5.3。1.5.3 版包含這些修訂項目。
修正錯誤
- 實作缺少的
TransformingLazyColumnverticalAlignment支援功能 - 現在支援頂端、底部或中央的標準排列方式。(I2e630、b/444143326)
1.5.2 版本
2025 年 9 月 24 日
發布 androidx.wear.compose:compose-*:1.5.2。1.5.2 版包含這些修訂項目。
修正錯誤
- 在
TransformingLazyColumn中捲動時,最佳化項目動畫快取。(I62ae8) OpenOnPhoneDialog和ConfirmationDialog變體已更新為設定 FLAG_KEEP_SCREEN_ON,因此動畫會完整播放,對話方塊也會如預期自行關閉。(Iad7d4)- 修正錯誤:在 API 36 以上版本中,
Modifier.edgeSwipeToDismiss與SwipeDismissableNavHost搭配使用時會異常終止。(Ifc13d) - 更新與新
CurvedTextStyle warpOffset參數相關的說明文件和註解,以正確參照「未指定」案例。(I41aa5)
1.5.1 版本
2025 年 9 月 10 日
發布 androidx.wear.compose:compose-*:1.5.1。1.5.1 版包含這些修訂項目。
修正錯誤
- 修正
HorizontalPagerScaffold的修飾符參數用法,確保加入Modifier.fillMaxSize()時,HorizontalPager 不會遺失頁面指標 (I07ae1、b/441682601) - 預設會將
ScrollIndicator方向與內容版面配置方向對齊。(I0da0f、b/441489028) - 修正與
TransformingLazyColumn搭配使用時的ScrollAway問題。導覽至其他畫面再返回後,TimeText無法正確捲動。(Ic0ef1、b/433549148) - 修正了螢幕頂端/底部邊緣案例的
TransformingLazyColumnSCROLL_BACKWARDS和SCROLL_FORWARDS語意回報。(I5c28d、b/405205994) - 修正
SwipeDismissableNavHost中的錯誤:在 API 36 上向後滑動後,進行中的轉場效果不會標示為完成。(Ife72e、b/441089689) - 將預設
OpenOnPhoneMaxSweepAngle更新為 200 度,以免「檢查手機」的部分翻譯遭到截斷。(Ib2e4c、b/428243902)
1.5.0 版本
2025 年 8 月 27 日
發布 androidx.wear.compose:compose-*:1.5.0。1.5.0 版包含這些修訂項目。
自 1.4.0 版以來的重要異動
Wear Compose Material 3 程式庫的第一個版本,支援新的 Material 3 Expressive 設計系統。這個版本包含:
- 更新
MaterialTheme和動態色彩主題設定。 - 新的
AppScaffold, ScreenScaffold、HorizontalPagerScaffold和VerticalPagerScaffold元件,可配置畫面結構,並協調ScrollIndicator、TimeText、HorizontalPageIndicator和VerticalPageIndicator動畫。 - 形狀變形
IconButton、TextButton、IconToggleButton和TextToggleButton,以及在按下或勾選時會產生動畫的變化。 EdgeButton,這種形狀是專為螢幕底部設計。ButtonGroup會實作一組富有表現力的按鈕,這些按鈕會在一列中排列,並在觸控時變形。- 和
ConfirmationDialog,並提供其他對話方塊內容的變化版本。AlertDialog TimePicker和DatePicker元件。- 進度指標包括
CircularProgressIndicator(含分段變化)、ArcProgressIndicator和LinearProgressIndicator。
此外,Wear Compose Foundation 1.5.0 還包含下列項目:
TransformingLazyColumn:支援縮放和變形動畫的垂直捲動延遲載入清單。- 在 Wear Compose Foundation 中,透過
HorizontalPager和VerticalPager支援分頁功能。 - 階層式焦點群組 - 用於為應用程式中的可組合項加註,追蹤組合的有效部分並協調焦點。
進一步瞭解 (適用於 Wear OS 的 Material 3 Expressive)
其他變更
- 如需 1.5.0 版導入功能的完整清單,請參閱「Beta01 版本資訊」。
1.5.0-rc02 版
2025 年 8 月 13 日
發布 androidx.wear.compose:compose-*:1.5.0-rc02。1.5.0-rc02 版包含這些修訂項目。
修正錯誤
- 修正
TimePicker的錯誤,避免時間 (上午/下午) 的國際化長字串導致版面配置中斷。(I0fa81)
1.5.0-rc01 版
2025 年 7 月 30 日
發布 androidx.wear.compose:compose-*:1.5.0-rc01。1.5.0-rc01 版包含這些修訂項目。
修正錯誤
TimePicker現在完全由使用者的語言代碼驅動,並使用DateFormat.getBestDateTimePattern決定選擇器和分隔符的順序和內容。這項更新修正了中日韓語言的錯誤欄排序,解決阿拉伯文等語言的從右至左 (RTL) 版面配置問題,使用本地化分隔符,並根據語言代碼支援 0-11 和 1-12 小時格式 (I5d543)DatePicker現在會在部分語言代碼 (例如中日韓語言) 中顯示數字月份,避免數字和語言格式混用 (例如 2025 年 7 月 2 日,而非 2025 年 7 月 2 日。這項變更會套用啟發式方法,檢查地區語言是否使用年份的語言後置字元,如果是,則會將月份格式從文字 (MMM) 切換為數字 (MM),以確保一致性。(Ia93fe)- 現在 Picker 元件中標題的垂直空間是固定的,可避免在選取選擇器欄時發生明顯位移,尤其是在
Talkback模式下。(I7f8b7) - 修正了因
HorizontalPageIndicator和VerticalPageIndicator繪製全螢幕而導致的無障礙錯誤。頁面指標不再是全螢幕,搭配HorizontalPagerScaffold或VerticalPagerScaffold使用時,系統會自動放置指標。未使用分頁器架構時,請使用modifier = Modifier.align(Alignment.BottomCenter)明確指定對齊方式,並搭配HorizontalPageIndicator和modifier =Modifier.align(Alignment.CenterEnd)與VerticalPageIndicator。(I3a0ad) - 現在,LTR 和 RTL
LayoutDirections的SwipeToReveal滑動方向一致。(I6d427) - 恢復動作的
SwipeToReveal垂直置中功能。如果hasPartiallyRevealedState = true,則在發生捲動時,呼叫端應將RevealState重設為RevealValue.Covered。(I6473d) SwipeDismissableNavHost現在可正確剪輯 API 36 以上的內容。(Ib9a44)
1.5.0-beta06 版
2025 年 7 月 16 日
發布 androidx.wear.compose:compose-*:1.5.0-beta06。1.5.0-beta06 版包含這些修訂項目。
修正錯誤
- 修正
LazyColumn或ScalingLazyColumn含有reverseLayout = true時的EdgeButton動畫。(I46a1a) - 修正
ScreenScaffold中的錯誤:如果提供ScrollIndicator/PageIndicator,在 Talkback 下無法使用觸控探索功能。(I6dcee) TransformingLazyColumn現在可透過讀取背景繪圖器中TransformationSpec提供的itemHeight值,從TransformationSpec自訂變形。(I6a599)- 為
IconButton啟用/停用動畫顏色轉場效果,與IconToggleButton保持一致。(Ife10a) - 移除了
CircularProgressIndicator中的最小區段夾鉗,避免動畫化時明顯跳至最小點大小。這項異動生效後,drawCircularProgressIndicator中的targetProgress參數將不再使用。(I33309) - Picker 現在具有語意角色
ValuePicker,螢幕閱讀器可使用此角色,讓挑選器更易於存取。挑選器也更新了無障礙點擊標籤,可區分唯讀模式下的值調整作業,以及選取目前值的情況。(I33309)
1.5.0-beta05 版
2025 年 7 月 2 日
發布 androidx.wear.compose:compose-*:1.5.0-beta05。1.5.0-beta05 版包含這些修訂項目。
修正錯誤
- 更新說明文件,釐清
Modifier.edgeSwipeToDismiss的用法 (I78cb5) - 修正錯誤:在延遲清單中,可能會顯示多個以
SwipeToReveal顯示的項目 (I1d4f6) TransformingLazyColumn中的容器形狀現在會縮放,避免內容遭到裁剪。(I9221a)- 現在,小時/分鐘/秒或年/月/日的
TimePicker和DatePicker標籤會為螢幕閱讀器提供標題語意 (I77d8b) - 移除不確定
CircularProgressIndicator(Iaf0bb) 中迴圈之間的暫停 - 修正移除項目時,
TransformingLazyColumn中的動畫錯誤。(I73034) - 修正移除項目時,
TransformingLazyColumn中錨定項目的處理方式。(I841a8) - 如果開啟自動置中功能,且選取的 (置中) Picker 變更,
PickerGroup現在會水平動畫顯示 Picker。(Ic82c4)
1.5.0-beta04 版
2025 年 6 月 18 日
發布 androidx.wear.compose:compose-*:1.5.0-beta04。1.5.0-beta04 版包含這些修訂項目。
修正錯誤
- 修正
TransformingLazyColumn中的版面配置錯誤,現在系統會從螢幕頂端正確對齊螢幕內可容納的內容 (I80115) - 修正
TransformingLazyColumn的問題:捲動至清單最底部時,底部項目會錯誤地縮放EdgeButton。現在還原版面配置時,捲動進度會遵循梯度下降法。(Iea375) TransformingLazyColumn現在會讀取背景繪圖工具內的項目高度,讓自訂TransformationSpecs實作變形效果。(I022f0)SwipeToReveal現在可正確地垂直置中顯示的動作。(I4419b)- 修正
SwipeToReveal中的錯誤,如果畫面同時使用檢視區塊和 Compose,即可正常透過滑動手勢關閉。(I5dc0e) - 修正捲動時,
SwipeToReveal動作會以垂直偏移量繪製的問題。(I29444) AlertDialog、ConfirmationDialog、OpenOnPhoneDialog和SwipeToReveal現在會將以螢幕大小百分比計算的邊框間距和大小向上取整。(I76367)ButtonDefaults.outlinedButtonBorder現在會根據啟用/停用狀態變更大小(If2ddd)- 修正了在含有 Pager 和
ScreenScaffold的複雜畫面上,EdgeButton高度出現的錯誤。(I946e3) - 修正可能導致預留位置動畫停止的競爭狀況。(I53530)
- 透過繪製到 Canvas,提升
HorizontalPageIndicator和VerticalPageIndicator的效能。(Ifae1e) - 調整 EdgeButton 的形狀,讓構成輪廓的省略號和圓圈之間的轉場效果更流暢。(I7721e)
- 修正
LevelIndicator中的錯誤,避免動畫因不必要的重組而停止。(I45d08)
1.5.0-beta03 版
2025 年 6 月 4 日
發布 androidx.wear.compose:compose-*:1.5.0-beta03。1.5.0-beta03 版包含這些修訂項目。
API 變更
OpenOnPhoneDialog現在只會透過 TalkBack 朗讀訊息文字,並略過圖示語意。OpenOnPhoneDialogDefaults已更新,可從icon()移除iconContentDescription和contentDescription參數。此外,ConfirmationDialogDefaults現在在SuccessIcon和FailureIcon可組合函式上都有修飾符參數。(Id2ae2)
修正錯誤
- 變更套用
SurfaceTransformation參數效果的順序。先前,套用至 Wear Material3 元件的轉換作業如下:背景繪製器、容器轉換、內容轉換。現在,前 2 個會反轉,我們會在兩者之間套用任何傳入的修飾符,因此會受到容器轉換影響。這項修正可解決使用轉換參數,在 TLC 中搭配元素使用預留位置微光效果等情況。(I786cf) - 新增
RevealState.Saver,用於在重新建立活動或程序時還原SwipeToReveal的狀態。rememberRevealState函式現在預設會使用這項節省功能。(Ie0ecb) SwipeToReveal主要和次要動作按鈕應預設為ButtonDefault.Height(修正了這些按鈕會填滿較高按鈕最大高度的錯誤)。(Ibfba1)- 變更
SwipeToReveal,在執行向右滑動手勢時重設上次互動的元件。(Ia8450) - 如果滑動結束位置介於顯示和已顯示錨點之間,且較靠近顯示錨點,
SwipeToReveal會變更為Revealing狀態。(If4458) - 現在
ButtonGroup的內容在 RTL 版面配置中會正確反轉 (Ib378d) AnimatedText現在支援從右到左的文字方向 (I4533c)- 現在移除底部項目時,
TransformingLazyColumn會正確調整項目大小 (Idacab) TransformingLazyColumn現在只會進行一次測量傳遞,藉此減少影格時間,進而提升效能。(I501a1)
1.5.0-beta02 版
2025 年 5 月 20 日
發布 androidx.wear.compose:compose-*:1.5.0-beta02。1.5.0-beta02 版包含這些修訂項目。
修正錯誤
- 更新基礎、material 和 material3 程式庫的基準設定檔。(I53f06)
- 修正
TransformingLazyColumn中的錯誤,移除底部項目時,項目會調整大小。(Idacab) - 修正了
TransformingLazyColumn的錯誤,避免清單卡在頂端或底部。(I49d00) - TalkBack 應朗讀
OpenOnPhoneDialog下方的文字,而非圖示內容說明。(I4efe8) - 修正
SwipeToReveal中的錯誤,當hasPartiallyRevealedState設為 false 時,RevealState.currentValue會回報錯誤的錨點。(I9c7cf) SwipeToReveal復原按鈕現在預設為ButtonDefaults.Height。(I1f6c8)BasicSwipeToDismissBox效能已獲得提升,因為系統不再使用 Canvas 繪製半透明遮罩。(I68f2c)- 修正滑桿的無障礙錯誤,更新後播報的百分比與實際值不符 (I91146)
- 修正
placeholderShimmer實作中的錯誤。(Iee39b TransformingLazyColumn效能已提升,最佳化ScrollProgress計算作業的幅度達 30%。(I4c4cb)
1.5.0-beta01 版
2025 年 5 月 7 日
發布 androidx.wear.compose:compose-*:1.5.0-beta01。1.5.0-beta01 版包含這些修訂項目。
Compose for Wear OS 的 1.5.0-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。
Wear Compose 1.5.0-beta01 包含 Wear Compose Material3 程式庫,支援名為 Material 3 Expressive 的全新 UI 設計系統。建議您從 Material 升級至 Material 3,在應用程式中採用全新視覺設計,並使用下列新元件:
MaterialTheme,提供更新和擴充的色彩配置、字體排版和形狀,讓設計更豐富多元。- 動態色彩主題設定:自動為應用程式產生與錶面顏色相符的色彩配置。
- 新元件預設會自動配合較大的螢幕尺寸調整
- 形狀變形 - 圓形按鈕元件 (例如
IconButton、TextButton、IconToggleButton和TextToggleButton) 支援在按下或勾選時產生動畫的變化。 EdgeButton- 新的貼邊按鈕,採用專為螢幕底部設計的特殊形狀。- Scaffold - 導入
AppScaffold和ScreenScaffold,配置畫面結構並協調ScrollIndicator和TimeText動畫。 - 按鈕 - 支援多種體育場形狀的按鈕,以及彈性的單一版位容器和多版位變化,適用於含有圖示和標籤的按鈕。需要切換按鈕時,系統會提供
CheckboxButton和SwitchButton,而RadioButton則是可用的選取按鈕 (系統也會提供切換和選取按鈕的「分割」變體)。 ButtonGroup- 在同一列中實作一組富有表現力的按鈕,觸控時會變形。AlertDialog變化版本支援「確定」/「取消」按鈕或EdgeButton。ConfirmationDialog可顯示附有逾時的訊息,並支援成功、失敗和在手機上開啟的特殊動畫。- 挑選器 - 支援
TimePicker和DatePicker變化版本,以及用於建構專屬挑選器畫面的挑選器和PickerGroup元件。 ProgressIndicators- 支援圓形和線性進度指標 (CircularProgressIndicator有分段和不確定變化)。- 資訊卡 - 提供多種資訊卡變化,包括
TitleCard,可為含有標題、時間、副標題或內容運算單元的資訊卡提供特定版面配置。TitleCard也可以使用圖片做為背景,加強資訊卡中資訊的意義。 - 分頁器 -
HorizontalPagerScaffold、VerticalPagerScaffold和AnimatedPage元件會協調HorizontalPageIndicator和VerticalPagerIndicator動畫。HorizontalPager和VerticalPager已在 Wear Compose Foundation 程式庫中發布。 - 預留位置:在元件上繪製骨架形狀,適用於沒有臨時內容的情況。
- 滑桿和 Stepper - 滑桿和 Stepper 都可讓使用者從多種不同的值中選擇。滑桿較為精簡,可以分段顯示;步進器則是全螢幕元件,通常會搭配
StepperLevelIndicator使用。 SwipeToReveal:用於在可組合項從右向左滑動時新增其他動作。
此外,Wear Compose Foundation 1.5.0-beta01 還包含下列新元件:
TransformingLazyColumn:支援縮放和變形動畫的延遲垂直捲動清單- 階層式焦點群組 - 用於註解應用程式中的可組合項,追蹤組合的有效部分並協調焦點。
- 呼叫器 -
HorizontalPager和VerticalPager元件,以 Compose Foundation 元件為基礎建構,並針對 Wear 進行強化,以提升效能並符合 Wear OS 指南。
API 變更
- 更新了階層式焦點 API - 將
Modifier.hierarchicalFocus重新命名為Modifier.hierarchicalFocusGroup,並移除了回呼參數;移除了含有FocusRequester參數的Modifier.hierarchicalFocusRequester多載;建立了新的CompositionLocal、LocalScreenIsActive,讓元件可以通知並檢查哪個畫面處於啟用狀態。(I5ff7c)。 - 淘汰 Wear Compose Foundation 中的
SwipeToReveal,改用 Wear Compose Material 和 Wear Compose Material3 中的SwipeToRevealAPI。請將 Wear FoundationSwipeToReveal匯入項目替換為 Wear Compose Material/ Wear Compose Material3 匯入項目,以便繼續使用 API。(Ia147d)。 - Wear Compose Material3
SwipeToReveal基礎的依附元件已移至 material3 套件,例如RevealValue、RevealDirection、RevealActionType、RevealState、rememberRevealState。開發人員應將這些類別和函式的匯入項目從androidx.wear.compose.foundation變更為androidx.wear.compose.material3。(I640e6)。 - 更新 Wear Compose Material3
SwipeToRevealAPI,如下所示:在SwipeToReveal可組合函式中新增primaryAction、onFullSwipe、secondaryAction、undoPrimaryAction、undoSecondaryAction和hasPartiallyRevealedState參數;從RevealState移除自訂positionalThreshold和animationSpec的功能;從RevealState移除lastActionType、revealThreshold和寬度;變更RevealState建構函式,接受RevealDirection而非錨點;移除createRevealAnchors、錨點和bidirectionalAnchors函式;將SwipeToRevealScope函式primaryAction、secondaryAction、undoPrimaryAction和undoSecondaryAction重新命名為PrimaryActionButton、SecondaryActionButton、UndoActionButton,並設為可組合函式;將RevealActionType標示為內部函式。(I885d0)。 - 進一步更新
SwipeToRevealAPI,如下所示:將onFullSwipe重新命名為onSwipePrimaryAction;重新命名SwipeToRevealNonAnchoredSample,指出使用hasPartiallyRevealedState參數;移除actionButtonHeight,因為預設值是按鈕的預設高度,且可以使用修飾符設定較大的高度;從SwipeToRevealDefaults移除SmallActionButtonHeight;將RevealValue和RevealDirection建構函式中的值參數設為私有。(I465ce)。
修正錯誤
- 修正
ScreenScaffold的EdgeButton處理方式,移除TransformingLazyColumn項目後,EdgeButton會以動畫效果移至適當位置。(I6d366)。 - 已將 Compose 程式庫的 Wear Compose 依附元件更新至 1.8.0 版。(I2ef3f)。
- 更新不確定
CircularProgressIndicator的動作,使其不再暫時回歸。(Ieddb1)。 - 修正
SwipeDismissableNavHost錯誤:向後滑動後焦點未正確切換,導致旋轉輸入失敗 (適用於使用預測返回手勢的 API 36 以上版本)。(Ieddb1)。 - 修訂 Hierarchical Focus API 的說明文件 (Idf2ff)。
- 更新按鈕和資訊卡的說明文件,說明
containerPainter和disabledContainerPainter如何覆寫containerColor和disabledContainerColor(I4a453)。 - 還原先前版本中對
TimeText的變更,因為該變更將BroadcastReceiver移至工作執行緒,導致在導覽期間管理自身執行緒的應用程式發生問題。(I34d02)。 - 更新 Picker 範例,移除不必要的記憶體呼叫,並改為在 Picker 中使用
rememberUpdatedState,記憶最新的contentDescriptionlambda 函式。(Icb5b1)。 - 更新
TimePicker和DatePicker中的文字樣式,讓字型變更不再導致截斷。(I26194)。 ListHeader和ListSubHeader現在預設會將文字分別置中對齊和靠左對齊。(I78339)。- 更新 Foundation 和 Material「滑動顯示」範例和示範,以發布自訂無障礙動作 (自訂動作必須新增為內容的語意,而非
SwipeToReveal可組合函式本身)。(Ie92a3)。 - 根據
EdgeButton內容的大小更新預設MaxLines集,現在 XS 為 1,S 和 M 為 2,L 為 3。(Ie35f6)。 - 簡化
LocalReduceMotion,確保觀察器只註冊一次,以提升效能。(Ib1979)。 - 減少
ScrollIndicator中的重繪次數,以提升效能。(Ia7a67)。 - 修正
TransformingLazyColumn中的錯誤:EdgeButton 達到完整高度時,清單中頂端的可見項目不會正確縮放。(I30580)。
1.5.0-alpha14 版
2025 年 4 月 23 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha14。1.5.0-alpha14 版包含這些修訂項目。
API 變更
- 所有 Material
SwipeToReveal對 FoundationSwipeToReveal的依附元件都已移至 Material 套件,例如RevealValue、RevealDirection、RevealActionType、RevealState、rememberRevealState。開發人員應將這些類別和函式的匯入項目從androidx.wear.compose.foundation變更為androidx.wear.compose.material。(Ib7cb8) - 更新
HierarchicalFocusCoordinator的 API,從可組合函式改為修飾符。 - 遷移注意事項:
- 您可以新增
Modifier.hierarchicalFocus(function())至content或封閉可組合函式,藉此取代HierarchicalFocusCoordinator(function, content)。 ActiveFocusListener { if (it) focusRequester.requestFocus() }可以透過新增Modifier.hierarchicalFocusRequester(focusRequester)取代ActiveFocusListener的其他罕見用途可以在Modifier.hierarchicalFocus上使用新參數focusRequester(rememberActiveFocusRequester())可以替換為hierarchicalFocusRequester()val focusRequester = rememberActiveFocusRequester()可以替換為remember { FocusRequester() },並新增Modifier.hierarchicalFocusRequester(focusRequester)。(Ie319a)
- 您可以新增
修正錯誤
- 以下元件的滑動速度門檻已提高,必須超過門檻才會觸發狀態變更:
SwipeToReveal、BasicSwipeToDismissBox和SwipeDismissableNavHost(僅適用於 API 35 以下的SwipeDismissableNavHost)。(If47bf) - 修正將新項目新增至
TransformingLazyColumn時的動畫問題。(I589b2)
1.5.0-alpha13 版
2025 年 4 月 9 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha13。1.5.0-alpha13 版包含這些修訂項目。
API 變更
修正錯誤
1.5.0-alpha12 版
2025 年 3 月 26 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha12。1.5.0-alpha12 版包含這些修訂項目。
API 變更
- 改善
gestureInclusion的SwipeToReveal預設實作項目,只在元件狀態為 Covered 時忽略手勢。(I7e3d6) - 對於
SwipeToReveal,請將bidirectionalGestureInclusion設為 val,而非函式,並在gestureInclusion中將@FloatRange新增至edgeZoneFraction參數。(Ica7c3)
修正錯誤
- 將
SwipeToRevealbidirectionalGestureInclusion變更為回傳物件,而不是類別。(I29597) - 在
RoboElectric下執行測試時,系統會停用觸覺回饋。(I58bd1) - 更新內容和動作按鈕之間的
SwipeToReveal邊框間距,以及動作按鈕圖示和文字之間的邊框間距。(Ic46cb)
1.5.0-alpha11 版
2025 年 3 月 12 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha11。1.5.0-alpha11 版包含這些修訂項目。
API 變更
- 更新
PagerState,移除做為基礎類別的 Compose FoundationPagerState,並新增currentPage、currentPageOffsetFraction和pageCount屬性。更新GestureInclusion介面,將方法重新命名為ignoreGestureStart。(I4ae07) - 將
requireOffset新增至SwipeToDismissBoxState,做為取得SwipeToDismissBoxState偏移量的建議方式。(I21042) - 新增
CurvedModifier.semantics,初步支援內容說明和遍歷索引 (I0b093) - 我們新增了
CurvedModifier.clearAndSetSemantics,方便您關閉彎曲語意。CurvedText仍會預設將內容說明設為文字,但timeTextCurvedText和timeTextSeparator現在不會播報內容。(I4b568) HorizontalPager的滑動手勢預設處理方式已重新命名為PagerDefaults.gestureInclusion。現在的預設行為是只忽略從第一頁左側邊緣開始的滑動手勢,且僅限 Talkback 關閉時。在其他情況下,分頁器不會忽略滑動手勢,因此滑動即可關閉處理常式無法使用。(Iee486)- 為
rotaryScrollableAPI 新增旋轉過度捲動功能。已將過度捲動和巢狀捲動新增至rotaryScrollable快速滑動行為。這項變更應可讓觸控捲動和旋轉捲動的過度捲動和巢狀捲動功能保持一致。(I71926) - 在
SwipeToReveal中新增邊緣滑動區域支援。FoundationSwipeToReveal現在的預設行為是,如果手勢從邊緣開始,就會禁止滑動。如果SwipeDirection設為單一方向,Material3SwipeToReveal現在預設會禁止從邊緣開始的手勢滑動。(I32ef0) - TLC 現在預設使用空白的 contentPadding,而不是將第一個和最後一個項目放在中央。(I77ab7)
修正錯誤
1.5.0-alpha10 版
2025 年 2 月 26 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha10。1.5.0-alpha10 版包含這些修訂項目。
API 變更
- 將
SwipeToRevealDefaults設為公開。(I0c34c) - 我們已替換
HorizontalPager中的swipeToDismissEdgeZoneFraction參數。我們改為導入新參數gestureInclusion,可用於實現必要的滑動關閉行為。gestureInclusion會接收GestureInclusion的例項,決定後續的捲動事件是否應繼續。允許手勢表示 Pager 會耗用該手勢,否則手勢會由其他位置處理,例如滑動即可關閉的處理常式。新版預設行為是禁止在 Pager 第一頁的最左側邊緣使用手勢,因此允許在這個區域滑動來關閉。其他所有頁面都會允許 Pager 使用所有手勢,也就是說,無法從這些頁面觸發「滑動即可關閉」手勢。如要在所有頁面上實現「滑動即可關閉」行為,只要提供忽略目前頁面的自訂GestureInclusion執行個體 (請參閱PagerDefaults.disableLeftEdgeOnFirstPage) 即可。這裡介紹的另一項重大變更,是 Pager 元件不再預設為全螢幕,而是要新增Modifier.fillMaxSize()才能達成此行為。(I9d3aa) - 我們已在滑動顯示 API(If5999) 中,將
createAnchors重新命名為createRevealAnchors - 我們已從滑動顯示 API 中移除
RevealScope。(Ie4ad5) - 我們已從「滑動顯示」API 的
RevealValue中移除「顯示」和「已顯示」。(I8dbc5) - 我們已在「滑動顯示」API 中,將
SwipeDirection重新命名為RevealDirection。(I7472f) - 我們已變更
SwipeToRevealrememberRevealState函式的positionalThreshold參數簽章。(I29c0a) - 我們已在
ScalingLazyColumn、TransformingLazyColumn和ScreenScaffold中新增overscrollEffect參數。(I0cee8) - 使用
PagerDefaults#snapFlingBehaviour時,pagerSnapDistance參數已替換為 Int 參數maxFlingPages,可用於指定 Pager 應捲動的最大頁數。(I8cfc0) - Wear Pager 現在有自己的
PagerScope,而不是使用 Compose FoundationPagerScope。(I9195b) - 我們已在彎曲文字中新增對
lineHeight的支援 (I1c936) - 我們已將
initialAnchorItemIndex和initialAnchorItemOffset新增至TransformingLazyColumnState和rememberTransformingLazyColumnState,以便在TransformationLazyColumn中指定初始捲動位置。(I0a0d5) - 淘汰
runWithTimingDisabled,改用runWithMeasurementDisabled,更清楚地說明行為 - 所有指標都會暫停。此外,由於無法重新宣告runWithMeasurementDisabled函式來開放存取權 (因為該函式是內嵌函式),因此請公開MicrobenchmarkScope超類別。(I9e23b、b/389149423、b/149979716) - 我們已在 API 中新增
TransformingLazyColumnItemScrollProgress.Unspecified,避免TransformingLazyColumnItemScrollProgress發生裝箱問題。(I0835d)
修正錯誤
- 改善
CurvedTextStyle的 Kdoc (Id45e3) - 我們已將
SwipeableV2(SwipeToReveal實作的一部分) 設為內部,而非公開,但僅限於程式庫群組。(Idbb94) - 我們已在
HierarchicalFocusCoordinator中新增測試 (I1ce54、b/395548918) - 我們已改善 Wear Compose 基礎範例中的
SwipeToReveal。(I5f307) - 修正
TransformingLazyColumn中verticalScrollAxisRange的捲動軸語意資料,以利無障礙功能 (I68123) - 移除不必要的背景執行緒,提升 Wear OS 4 以上版本裝置的旋轉觸覺回饋效能 (I39cfe)
- 從 API 36 開始,請將
SwipeDismissableNavHost變更為僅使用PredictiveBackNavHost。(I59bed) - 我們新增了防護措施,避免存取 reducemotion 設定時發生當機問題。(I01e2c)
- 我們已為
TransformingLazyColumn實作預先擷取功能,以減少卡頓 (Icca88)
1.5.0-alpha09 版
2025 年 1 月 29 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha09。1.5.0-alpha09 版包含這些修訂項目。
API 變更
- 在
CurvedTextStyle上,我們將字母間距分成順時針字母間距和逆時針字母間距。這是必要步驟,因為順時針方向的字母會從基準線向外展開,而逆時針方向的字母則會向內展開 (因此需要較大的字母間距) (I4b848) CompositionLocalLocalReduceMotion已簡化為傳回布林值,而非ReduceMotion物件。ReduceMotion介面現已淘汰。先前的叫用 (例如LocalReduceMotion.current.enabled()) 可以替換為LocalReduceMotion.current(I4937f)PagerDefaults中的snapAnimationSpec已重新命名為SnapAnimationSpec。(I20c9a)
1.5.0-alpha08 版
2025 年 1 月 15 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha08。1.5.0-alpha08 版包含這些修訂項目。
API 變更
- 我們已將所有 Wear Compose 程式庫更新為「明確 API」模式。(Iebf9f)
- 我們已將分頁程式的快速動畫參數納入
PagerDefaults。(Ifff64) - 我們已在
SwipeToDismissBoxState中新增 offset 參數。(I586bd)
修正錯誤
- 在 V 之後的 Wear OS 版本 (Idb03e) 中,旋轉平台觸覺回饋現在稱為「旋轉」。
1.5.0-alpha07 版
2024 年 12 月 11 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha07。1.5.0-alpha07 版包含這些修訂項目。
API 變更
TransformingLazyColumnState現在可根據錨定項目索引觀察目前的捲動進度。(I72b01)- 如果項目具有新的
Modifier.animateItem,我們會在新增、移除及移動項目時,為TransformingLazyColumn新增動畫。(Iecb9c) TransformingLazyColumn現在會顯示beforeContentPadding和afterContentPadding的值。(Iccd5f)TransformingLazyColumn現在提供組合區域LocalTransformingLazyColumnItemScope,元件 (例如 Material 3 中的Card和Button) 放在TransformingLazyColumn內時,可使用這個區域自動變形。來電者可以使用新的TransformExclusion包裝函式停用自動變形功能。(I1652f)
修正錯誤
- 我們已更新以 U 以上版本為目標的裝置,其旋轉手勢的最小和最大撥動速度。(I33559)
- 修正了
TransformingLazyColumn中項目未包含任何可組合項時發生的當機問題 (Idb99d) - 我們已在 Android Vanilla ice cream 中新增對旋轉觸覺回饋的
ScrollFeedbackProvider支援。(Ibc553) - 使用
SwipeToReveal時,我們已套用增加的觸控斜率,以減少垂直捲動時意外觸發滑動手勢的機率。(Ic0672) - 我們已更新
SwipeDismissableNavHost,在 API 35 以上版本中,盡可能使用PredictiveBackHandler。系統會套用新的動畫。(I08c11)
1.5.0-alpha06 版
2024 年 11 月 13 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha06。1.5.0-alpha06 版包含這些修訂項目。
API 變更
- 我們已簡化
PagerState的ScrollInfoProvider,移除不再需要的orientation參數。新版行為是讓TimeText在水平和垂直分頁時都保持在原位。(I71767) TransformingLazyColumn已在先前的版本中推出。我們現在將移除 Wear 的LazyColumn別名 (會轉送至TransformingLazyColumn),改用新名稱TransformingLazyColumn。我們也移除了TransformingLazyColumnVisibleItemInfo的height屬性,請改用measuredHeight。(I0ea1e)- 我們已將
PagerDefaults.snapFlingBehaviorsnapAnimationSpec從Tween變更為Spring規格。(I10d02、b/349781047、b/303807950) - 我們已將
LocalReduceMotionCompositionLocal升級為穩定版 (Ia6f32)
修正錯誤
- 我們已更新
Modifier.rotaryScrollable,使用focusTargetWithSemantics,在旋轉介面中提供更完善的語意支援。(Ief0a0) - 我們已將 Compose 程式庫的最低 API 依附元件更新為 1.7.4。(I88b46)
- 為解決裁剪錯誤,我們已停用
TransformingLazyColumn中的寬度變形功能。(I3dfb8) - 修正了導致項目在
TransformingLazyColumn捲動過度後消失的錯誤 (Id7668) - 我們已為
TransformingLazyColumn新增LazyLayoutSemantics。(Ia8f56)
1.5.0-alpha05 版
2024 年 10 月 30 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha05。1.5.0-alpha05 版包含這些修訂項目。
API 變更
- 我們已在
TransformingLazyColumnState中新增對animateScrollTo的支援,讓捲動至項目的動作可以動畫呈現。(I4097d) - 我們已在
TransformingLazyColumnState中新增requestScrollTo,可將捲動延後至下一次測量。(I20a5e) - 我們已在
TransformingLazyColumn中新增對contentPadding的支援。(I3a69c)
修正錯誤
- 我們修正了內容高度短於螢幕高度時,
TransformingLazyColumn的轉譯錯誤。(I6c3e1) ScrollInfoProvder現在可正確追蹤第一個項目。TransformingLazyColumn(I1e4a3)TransformingLazyColumnState現在會儲存狀態 (anchorItemIndex和anchorItemScrollOffset)。(I3d265)
1.5.0-alpha04 版
2024 年 10 月 16 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha04。1.5.0-alpha04 版包含這些修訂項目。
API 變更
- 我們已將 Wear Compose Foundation
LazyColumn重新命名為TransformingLazyColumn,以便更清楚區分這個項目和 Compose FoundationLazyColumn。(I0608b) - 新增對水平/垂直分頁器的旋轉支援,讓使用者能透過旋轉輸入裝置瀏覽分頁器。(I9770d)
- 我們已更新新的
PagerDefaults,明確指出分頁器預設會自動對齊頁面。(Iff7d0) TransformingLazyColumnItemScrollProgress現在是值類別,應可提升效能。(Ic399e)TransformingLazyColumn現在支援立即可用的旋轉控制項。(I05206)TransformingLazyColumnState現在支援scrollToItem。(I507b3)- 從
SwipeToRevealAPI 移除@ExperimentalWearFoundationApi(I34a66)
1.5.0-alpha03 版
2024 年 10 月 2 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha03。1.5.0-alpha03 版包含這些修訂項目。
API 變更
- 我們在
SwipeToReveal中新增了雙向滑動支援,適用於目前畫面不支援滑動關閉的罕見情況。。預設仍為僅在從右向左滑動時顯示,強烈建議您遵守預設行為,以免與滑動關閉手勢衝突。(Ifac04) - 我們已更新
LazyColumnState來覆寫canScrollForward和canScrollBackward,現在當第一個或最後一個項目正好位於畫面中央時,系統會停止捲動。(Ia77d7) - 我們新增了
HorizontalPager和VerticalPager元件,可解決常見問題,例如焦點處理和與系統滑動手勢互動以關閉 Wear 裝置。(I2902b) - 我們新增了
LazyColumn,可透過layoutItems公開用戶端的key和contentType。(I1bd9c)
修正錯誤
- 我們已使用繪圖標記,更新曲線文字動畫,使其更加流暢。(I73a15)
- 我們已更新 Material Dialog 說明文件,指出 show 旗標設為 false 後,系統不會呼叫
onDismissRequest。(Ifd8d6) - 修正 Material 對話方塊中的暈影動畫錯誤 (I126bf)
1.5.0-alpha02 版
2024 年 9 月 18 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha02。1.5.0-alpha02 版包含這些修訂項目。
API 變更
- 我們已新增對 Wear Compose
LazyColumn的支援,並提供ScreenScaffold(以及新增LazyColumnState的ScrollInfoProvider實作)。(Ib8d29) - 我們已在
LazyColumnLayoutInfo中新增viewportSize。(I4187f)
修正錯誤
- 我們已修正錯誤,現在當
userScrollEnabled旗標設為false時,ScalingLazyColumn會停用旋轉捲動功能。(I490ab、b/360295825) - 我們已修正錯誤,解決彎曲文字出現非預期垂直邊框間距的問題。現在彎曲文字的高度會更接近文字實際使用的空間。請注意,這可能會導致涉及彎曲文字 (Iaa6ef) 的螢幕截圖測試失敗
- 我們已將錯誤修正還原為
Dialog,因為在某些情況下,當showDialog設為 false 時,會呼叫onDismissRequest回呼,導致onDismissRequest被呼叫多次。(I64656)
1.5.0-alpha01 版本
2024 年 9 月 4 日
發布 androidx.wear.compose:compose-*:1.5.0-alpha01。1.5.0-alpha01 版包含這些修訂項目。
API 變更
- 我們已在 Wear Compose Foundation 程式庫中新增
LazyColumn,並提供相關的LazyColumnState和LazyColumnScopeAPI。這是使用 Wear OS 版 Compose 建立可自訂的縮放和變形效果的基礎。(Ib3b22) - 我們已將
itemsIndexed的索引版本新增至LazyColumnScope,做為新LazyColumnAPI 的一部分。(Ib4a57) - 我們新增了
LazyColumn修飾符,支援縮放和變形行為。(Ie229a) HierarchicalFocusCoordinator已升級為穩定版。(I31035)- 我們已為彎曲文字新增字母間距支援。(I3c740)
- 在
CurvedLayout.curvedComposable中新增rotationLocked參數,停止旋轉元件。(I66898) - 已移除 wear material 和 wear material3 中的暫時性
LocalUseFallbackRippleImplementationAPI (I62282) - 從
@WearPreviewDevices多重預覽畫面中移除WearDevices.SQUARE(I11c02)
修正錯誤
SwipeToReveal現在會將顯示的項目放在螢幕可見的部分,這有助於在清單中使用SwipeToReveal,確保項目一律可供互動,且不會超出螢幕範圍。(I38929)SwipeToReveal現在會在animatedTo完成時,將lastActionType重設為 None。(I59b03)- 改善
curvedComposable上新rotationLocked參數的說明文件。(Ifbd57) - 修正將
NaN傳遞至ScalingLazyColumnSnapFlingBehavior的performFling時發生的異常終止問題。(Ic13da) - 修正曲線版面配置大小修飾符的錯誤 (I0fedf)
- 我們已新增對「sp」中指定字母間距的支援。(I9f6e3)
- 修正 Material2 對話方塊中的錯誤,對話方塊隱藏時不會呼叫
onDismissRequest回呼 (I64656) LayoutCoordinates.introducesFrameOfReference已重新命名為LayoutCoordinates.introducesMotionFrameOfReference,以更能反映其用途。已重新命名相關函式,根據該旗標計算座標。(I3a330)
1.4 版
1.4.1 版本
2025 年 2 月 12 日
發布 androidx.wear.compose:compose-*:1.4.1。1.4.1 版包含這些修訂項目。
修正錯誤
- 我們已防範存取全域 reducemotion 設定時發生當機的情況,這類情況會在未提供該設定的部分平台上觸發。(I01e2c)
1.4.0 版本
2024 年 9 月 4 日
發布 androidx.wear.compose:compose-*:1.4.0。1.4.0 版包含這些修訂項目。
自 1.3.0 版以來的重要異動
ScalingLazyColumn和Picker現在預設支援旋轉輸入,建議您移除明確的旋轉處理作業,並延後至預設系統行為。如有需要,請使用rotaryScrollableBehavior參數設定捲動或快速捲動行為。如要設定快速捲動行為,建議使用flingBehavior參數提供快速捲動行為和觸控捲動功能。Modifier.rotaryScrollable是新的修飾符,可將旋轉事件與可捲動容器連結,讓使用者透過 Wear OS 裝置上的錶冠或旋轉邊框捲動畫面。SwipeDismissableNavHost現在提供應用程式內轉換的進入動畫。- 現在首次顯示畫面時,系統預設會顯示
PositionIndicator。
其他變更
- 如要查看 1.3.0 版的完整異動清單,請參閱「beta01 版本資訊」。
1.4.0-rc01 版本
2024 年 8 月 21 日
發布 androidx.wear.compose:compose-*:1.4.0-rc01。1.4.0-rc01 版包含這些修訂項目。
- 我們已將 Compose 依附元件更新至 1.7.0-rc01,並將 Wear Compose Navigation 固定至 androidx.lifecycle 2.8.3
1.4.0-beta03 版
2024 年 6 月 12 日
發布 androidx.wear.compose:compose-*:1.4.0-beta03。1.4.0-beta03 版包含這些修訂項目。
修正錯誤
- 我們已更新
Modifier.rotaryScrollable,將「focusable」替換為「focusTarget」,以提升效能。(Id294b) - 我們已修正
ProgressIndicator在TalkBack下重複播報的問題。(I94563) - 我們已更新 Wear Compose 程式庫基準設定檔。(I3cbc3)
1.4.0-beta02 版本
2024 年 5 月 29 日
發布 androidx.wear.compose:compose-*:1.4.0-beta02。1.4.0-beta02 版包含這些修訂項目。
修正錯誤
- 我們增加了從彎曲文字傳遞至螢幕閱讀器的邊界寬度,以解決截斷問題 (Id865f)。
- 我們已限制傳遞至螢幕閱讀器的
HorizontalPageIndicator邊界,先前指標會佔用整個螢幕 (Id8d7a)。
1.4.0-beta01 版本
2024 年 5 月 14 日
發布 androidx.wear.compose:compose-*:1.4.0-beta01。1.4.0-beta01 版包含這些修訂項目。
Compose for Wear OS 的 1.4-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。Wear Compose 1.4 內附下列新功能:
- 我們新增了
Modifier.rotaryScrollable修飾符,可將旋轉事件與可捲動的容器連結,讓使用者透過 Wear OS 裝置上的錶冠或旋轉邊框捲動畫面。此外,ScalingLazyColumn和Picker現在預設支援旋轉輸入。使用rotaryScrollableBehavior參數設定捲動或貼齊行為。如要使用吸附行為,建議您也透過flingBehavior參數提供吸附功能,以供觸控捲動使用。 SwipeDismissableNavHost現在提供應用程式內轉換的進入動畫。- 現在首次顯示畫面時,系統預設會顯示
PositionIndicator。 - 已新增
SelectableChip和SplitSelectableChip做為ToggleChip的變體,請搭配RadioButton使用,為無障礙功能提供可選取的語意,而非可切換的語意 ListHeader現在支援高度調整功能,當內容需要額外高度來容納大型字型時,即可使用這項功能。
修正錯誤
- 我們修正了可選取的動態磚錯誤,現在已選取時不會再發出「輕觸兩下即可切換」的語音提示。(I7ed88)
1.4.0-alpha08 版本
2024 年 5 月 1 日
發布 androidx.wear.compose:compose-*:1.4.0-alpha08。1.4.0-alpha08 版包含這些修訂項目。
API 變更
- 我們對新的旋轉控制項 API 進行了以下變更:將
Modifier.rotary重新命名為Modifier.rotaryScrollable;將RotaryBehavior介面重新命名為RotaryScrollableBehavior,並將其函式handleScrollEvent重新命名為performScroll;將RotaryScrollableAdapter重新命名為RotaryScrollableLayoutInfoProvider,並移除scrollableState屬性。(I0c8a6) - 我們對旋轉手勢 API 進行了其他變更:將
RotaryScrollableLayoutInfoProvider重新命名為RotarySnapLayoutInfoProvider(因為只有在旋轉手勢搭配快速移動時才需要這個供應器);將RotaryScrollableDefaults.snapBehavior snapOffset中snapOffset參數的類型從 Int 變更為 Dp。(Iddebe) - 我們已將
SplitSelectableChip上的clickInteractionSource參數重新命名為containerInteractionSource。(Ia8f84) - 我們已更新
SplitSelectableChip的點擊回呼參數名稱,從onClick改為onSelectionClick,並從onBodyClick改為onContainerClick。(I32237)
修正錯誤
- 我們已將
PositionIndicator的水平邊框間距更新為 2dp (原為 5dp),以修正PositionIndicator(捲軸) 與可捲動內容重疊的錯誤。請注意,由於邊框間距有所變更,這項異動預計會導致現有螢幕截圖 (包括PositionIndicator) 發生中斷。(I57472) - 我們改善了新版旋鈕 API 的說明文件,說明低解析度和高解析度旋鈕裝置的差異。(I63abe)
- 我們已修正
SwipeDismissableNavHost中的範圍外例外狀況,此狀況可能在內插 Alpha 值小於零時觸發。(Ib75a1、b/335782510)
1.4.0-alpha07 版本
2024 年 4 月 17 日
發布 androidx.wear.compose:compose-*:1.4.0-alpha07。1.4.0-alpha07 版包含這些修訂項目。
API 變更
- 我們新增了
Modifier.rotary修飾符,可將旋轉事件與可捲動的容器連結,讓使用者透過 Wear OS 裝置上的錶冠或旋轉邊框捲動畫面。此外,ScalingLazyColumn和 Picker 現在預設支援旋轉輸入,並提供新的超載,其中包含rotaryBehavior參數,可指定捲動或快速滑動的設定。如果rotaryBehavior參數設為 snap,建議您也透過flingBehavior參數提供 snap,以利觸控捲動。(I2ef6f) NestedScroll來源「拖曳」和「輕拂」將由UserInput和SideEffect取代,以因應這些來源的擴充定義,現在包括動畫 (副作用) 和滑鼠滾輪與鍵盤 (UserInput)。(I40579)- 我們新增了
SelectableChip和SplitSelectableChip,以便更清楚區分切換控制項 (例如Switch/Checkbox) 和可選取的控制項 (例如RadioButton)。這會取代先前新增的ToggleChip/SplitToggleChip多載,並使用selectionControl參數。(Ia0217) - 已將
ProgressIndicatorDefaults中IndeterminateStrokeWidth的瀏覽權限修飾符更新為公開。(I5b5a4)
1.4.0-alpha06 版本
2024 年 4 月 3 日
發布 androidx.wear.compose:compose-*:1.4.0-alpha06。1.4.0-alpha06 版包含這些修訂項目。
修正錯誤
- 我們已新增旋鈕支援的內部草稿,這是將旋鈕行為從 Horologist 遷移至 AndroidX 的大型作業之一。(I617d1)
- 我們已新增觸覺回饋支援的內部草稿,這是將 Rotary 行為從 Horologist 遷移至 AndroidX 的大型工作之一。(I5568a)
1.4.0-alpha05 版
March 20, 2024
發布 androidx.wear.compose:compose-*:1.4.0-alpha05。1.4.0-alpha05 版包含這些修訂項目。
API 變更
- 我們已將
ScalingLazyListState的initialCenterItemIndex和initialCenterItemScrollOffset屬性設為公開。(I0c616) - 我們已將
FullScreenStrokeWidth從ProgressIndicatorDefaults設為公開。(Ibea23)
修正錯誤
- 我們減少了從
ScalingLazyColumn對layoutInfo的呼叫次數,進而提升PositionIndicator的效能。(Idc83d)
1.4.0-alpha04 版本
2024 年 3 月 6 日
發布 androidx.wear.compose:compose-*:1.4.0-alpha04。1.4.0-alpha04 版包含這些修訂項目。
API 變更
- 我們已為
ToggleChip和SplitToggleChip新增超載,採用selectionControl參數而非toggleControl參數。這項功能應與RadioButton控制項搭配使用,以便為無障礙功能提供可選取的語意,而非可切換的語意 (I1d6d9) - 我們已將新
selectionControl超載的參數名稱從onSelected更新為onSelect,適用於ToggleChip和SplitToggleChip(I1a971)
1.4.0-alpha03 版
2024 年 2 月 21 日
發布 androidx.wear.compose:compose-*:1.4.0-alpha03。1.4.0-alpha03 版包含此連結所列的修訂項目。
API 變更
Modifier.inspectable包裝函式已淘汰。這個 API 會建立過多無效的修飾符,因此我們不建議使用。如果開發人員想向工具公開修飾符屬性,建議在ModifierNodeElement上實作inspectableProperties()方法。(Ib3236)
修正錯誤
- 我們修正了
WearPreview*註解的文件錯誤。(Id526d)
1.4.0-alpha02 版
2024 年 2 月 7 日
發布 androidx.wear.compose:compose-*:1.4.0-alpha02。查看 1.4.0-alpha02 版的修訂項目。
修正錯誤
- 修正「滑動顯示」功能中的錯誤,現在開始滑動另一個項目時,無法再與某個項目上已執行的動作互動 (或取消)。(Ide059)
- 我們已更新
ListHeader,以便在內容需要額外高度來容納較大的字型大小時,支援高度調整。(I7290c、b/251166127)
1.4.0-alpha01 版
2024 年 1 月 24 日
發布 androidx.wear.compose:compose-*:1.4.0-alpha01。查看 1.4.0-alpha01 版的修訂項目。
新功能
- 我們在
SwipeDismissableNavHost中新增了進入動畫,用於應用程式內轉場效果。(cfeb79a) - 現在首次顯示畫面時,系統預設會顯示
PositionIndicator。這項變更的目的是協助您遵守 Wear 品質指南。很抱歉,這表示您必須更新包含PositionIndicator的畫面,因為先前不會顯示PositionIndicator。(419cef7)
API 變更
- 我們在
wear:compose-material和wear:compose-material3程式庫中新增了水波紋 API,取代已淘汰的rememberRipple。此外,還新增了暫時的CompositionLocal、LocalUseFallbackRippleImplementation,可將 Material 元件還原為使用已淘汰的rememberRipple/RippleThemeAPI。這項功能將在下一個穩定版中移除,僅適用於提供自訂RippleTheme的情況,做為暫時的遷移輔助工具。如需遷移資訊和這項異動的更多背景資訊,請前往 developer.android.com。(af92b21) - 我們已將
ColorScheme更新為不可變動,雖然個別色彩更新的效率較低,但更常使用的色彩效率較高。這項變更背後的理由是,大多數應用程式不會將更新個別顏色做為主要用途。這項做法仍可行,但會比以往重組更多項目,進而大幅減少所有 Material 程式碼中的狀態訂閱數量,並影響更多標準用途的初始化和執行階段成本。(f5c48b7) - Wear Material 和 Wear Material 3 元件的 API 中,現在會公開可為空值的
MutableInteractionSource,預設值為空值。MutableInteractionSource這裡沒有語意變更:傳遞空值表示您不希望提升MutableInteractionSource,且系統會在元件內建立MutableInteractionSource(如有需要)。變更為空值可讓某些元件永遠不會分配MutableInteractionSource,其他元件則只會在需要時延遲建立執行個體,進而提升這些元件的效能。如果您未使用傳遞至這些元件的MutableInteractionSource,建議改為傳遞空值。建議您在自己的元件中進行類似變更。(f8fa920) - 我們已更新
rememberExpandableState,可儲存展開狀態。這樣可確保在導覽至其他畫面時儲存資料,並在返回原始畫面時還原資料。(5c80095)
修正錯誤
- 我們已更新
ReduceMotion設定,改用生命週期感知監聽器。(7c6b122) - 我們已更新
TouchExplorationStateProvider的 Listener,使其能感知生命週期 (be28b01) - 我們移除了 materialcore 層,以提升
CompactButton的效能 (25db8e9) - 我們已讓
BasicSwipeToDismissBox更能處理 NaN 偏移,避免例外狀況 (b983739) - 我們已更新
BasicSwipeToDismissBox,確保 Alpha 值介於 0,1 範圍內 - 我們已修正
ToggleButton、SplitToggleButton、Checkbox、Switch和RadioButton中的錯誤,避免重複發布無障礙功能公告 (先前語意角色會重複) (d11eeb7)
1.3 版本
1.3.1 版本
2024 年 4 月 3 日
發布 androidx.wear.compose:compose-*:1.3.1。1.3.1 版包含這些修訂項目。
修正錯誤
- 修正「滑動顯示」功能中的錯誤。現在,使用者滑動其他項目時,不會再與某個項目上已執行的動作互動 (或取消)。(Ide059)
1.3.0 版本
2024 年 1 月 24 日
發布 androidx.wear.compose:compose-*:1.3.0。1.3.0 版包含此連結所列的修訂項目。
自 1.2.0 版以來的重要異動
SwipeToDismissBoxState類別、SwipeToDismissValue列舉和Modifier.edgeSwipeToDismiss擴充功能函式現在都屬於androidx.wear.compose.foundation套件,而非androidx.wear.compose.material套件。這個新版架構可讓您獨立實作手勢處理功能,不必考慮其他設計因素。質感設計工作流程 (例如套用已設定主題的顏色) 會另外處理。SwipeToRevealCard和SwipeToRevealChip類別可協助您實作recommended swipe-to-reveal guidance。SwipeToRevealSample類別會示範如何使用這些元件。1.3.0-alpha02 版導入的變更會導致
Chip和ToggleChip物件的高度增加,以便更妥善支援使用者選取的字型縮放比例。這可能會導致部分內容遭到裁剪。如要修正這個問題,MaterialTheme的large形狀現在會使用較大的圓角半徑 (26 dp,而非 24 dp)。Chip和ToggleChip物件會使用這個新的圓角半徑,避免在 Chip 和ToggleChip的角落裁剪內容。- 由於預設高度為 52 dp,因此大多數
Chips和ToggleChips都不會變更。不過,如果Chip和ToggleChip物件包含多行主要或次要標籤文字,或是高度遭到覆寫,可能會導致螢幕截圖測試中斷。
- 由於預設高度為 52 dp,因此大多數
其他變更
如要查看 1.3.0 版的完整異動清單,請參閱「beta01 版本資訊」。
導入建議
- 如果應用程式允許使用者平移瀏覽畫面內容 (例如地圖應用程式),請在
SwipeDismissableNavHost可組合函式中將userSwipeEnabled設為false,關閉滑動處理功能,並加入可讓使用者返回上一個畫面的按鈕。 - 如要在捲動清單中淡入和位置變更動畫期間,關閉位置指標的動畫,請使用
SnapSpec物件。 - 等待媒體應用程式載入內容以供播放時,顯示空白的
Placeholder可組合函式。 - 如要視需要建立可展開項目的集合,請考慮使用實驗性的
ExpandableStateMapping類別。
1.3.0-rc01 版本
2024 年 1 月 10 日
發布 androidx.wear.compose:compose-*:1.3.0-rc01。1.3.0-rc01 版包含此連結所列的修訂項目。
修正錯誤
-
我們已更新
MaterialTheme大型形狀,使用 26dp 圓角半徑,現在 Chip 和ToggleChip都會使用這個半徑。這項變更可支援高度調整,讓內容能配合較大的字型大小調整高度,否則現有的體育場形狀會剪裁部分文字內容。圖 1:在角落裁剪文字。 圖 2:文字未遭到裁剪。 這項變更可能會導致螢幕截圖測試中斷。(I2e6ae)
1.3.0-beta02 版
2023 年 12 月 13 日
發布 androidx.wear.compose:compose-*:1.3.0-beta02。1.3.0-beta02 版包含此連結所列的修訂項目。
修正錯誤
- 我們已在
BasicSwipeToDismissBox中還原預期的滑動動作。先前版本已變更這項行為,因此在手指觸控螢幕時,轉場效果的滑動部分會發生。(Id8e76)
1.3.0-beta01 版本
2023 年 11 月 15 日
發布 androidx.wear.compose:compose-*:1.3.0-beta01。查看 1.3.0-beta01 版的修訂項。
Compose for Wear OS 的 1.3-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。Wear Compose 1.3 內附下列新功能:
SwipeToDismissBoxState、SwipeToDismissValue和Modifier.edgeSwipeToDismiss已從androidx.wear.compose.material遷移至androidx.wear.compose.foundation,同時也遷移了BasicSwipeToDismissBox中的基礎滑動關閉實作。這樣一來,滑動關閉手勢的處理作業就能獨立於 Material Design 使用,例如從androidx.wear.compose.navigation中的SwipeDismissableNavHost使用。建議您仍搭配使用SwipeToDismissBox和androidx.wear.compose.material,因為前者會從MaterialTheme提取顏色,然後將其餘實作項目委派給BasicSwipeToDismissBox。SwipeDismissableNavHost現在支援新的userSwipeEnabled參數,因此可針對不需要滑動處理的畫面關閉這項功能。BasicSwipeToDismissBox已使用HierarchicalFocusCoordinator改善焦點處理方式。SwipeToReveal在 Material 中提供新的SwipeToRevealCard和SwipeToRevealChip可組合函式,遵循Card和Chip的建議 UX 指南。此外,這項功能也支援復原次要動作。DefaultTextStyle現在會關閉字型邊框間距,確保 Android 平台的一致性。Chip和ToggleChip現在會調整高度,以容納因無障礙功能而變大的字體PositionIndicator現在有淡入、淡出和位置變更動畫的個別動畫規格。基於效能考量,建議您搭配可捲動清單使用時,關閉淡入和位置變更功能。ExpandableStateMapping提供新方法,可在需要時產生ExpandableStates,不一定需要@Composable範圍。- 如果內容不再處於就緒狀態,
Placeholder現在允許重設。此外,減少動態效果設定現在也適用於Placeholder的閃爍效果和擦除動作。
已知問題
- 首次顯示畫面時,系統不會顯示
PositionIndicator。我們打算在 1.4 版的早期 Alpha 版中進行變更,讓動畫一開始會顯示,但不會有任何動畫效果。
API 變更
- 我們已將基礎級別「
SwipeToDismissBox」重新命名為「BasicSwipeToDismissBox」。這可清楚區分基礎層級元件和 Material 層級SwipeToDismissBox。後者會從MaterialTheme中提取顏色,用於半透明遮罩,並將其餘實作項目委派給BasicSwipeToDismissBox。(Ibecfc) - 我們已將
rememberExpandableStateMapping標示為實驗功能,並提升expandableItem的效能。(I5f6bc) - 我們已將 Material
SwipeToRevealCard 和 Chip API 中的SwipeToRevealAction類別,替換為使用SwipeToRevealPrimaryAction、SwipeToRevealSecondaryAction和SwipeToRevealUndoAction可組合函式的以插槽為基礎的 API。如需如何使用新版 API 的範例,請參閱範例程式碼。(Ia8943) - 我們已將
PositionIndicator動畫旗標替換為AnimationSpec參數。如要停用個別動畫,請將snap做為AnimationSpec傳遞。(I6c523)
修正錯誤
- 我們修正了因受限的彎曲文字而觸發的錯誤 (大小受限時) (I50efe)
- 我們已修正與
curvedComposable相關的潛在 NaN 當機問題 (I970eb) - 我們已還原
PositionIndicator的位置變更醒目顯示動畫移除作業。(Ieb424) - 我們移除了 material Chip 的 material-core 層,以提升效能。(If2dcb)
1.3.0-alpha08 版
2023 年 10 月 18 日
發布 androidx.wear.compose:compose-*:1.3.0-alpha08。1.3.0-alpha08 版包含此連結所列的修訂項目。
API 變更
- 我們在
PositionIndicator多載中新增了個別旗標,可控制不同動畫:showFadeInAnimation、showFadeOutAnimation和showPositionAnimation。舊版 API 已淘汰,並將呼叫轉送至新版 API。基於效能考量和使用者體驗一致性,如果PositionIndicator與可捲動清單搭配使用,建議關閉showFadeInAnimation和showPositionAnimation標記。如果PositionIndicator是做為獨立指標使用 (例如音量變更),建議開啟所有 3 種動畫。(I44294) - 我們已將「滑動即可關閉」功能遷移至
wear.compose.foundation,因此淘汰了 MaterialSwipeToDismissBoxState、SwipeToDismissValue和edgeSwipeToDismiss。請改用wear.compose.foundation等效項目。(Iee8c9)
修正錯誤
- 我們已更新 Wear Compose Foundation、Material 和 Navigation 程式庫的基準設定檔。(Idb060)
- 我們已還原先前 CL 中導入的
PositionIndicator行為變更,因此在初始顯示畫面時,PositionIndicator會以動畫呈現。我們打算在 1.4 版的早期 Alpha 版中進行類似變更,以便一開始顯示PositionIndicator,但不會有任何動畫。(I41843) - 我們已在
PositionIndicator中解決部分效能問題。(I1c654、b/302399827) - 我們已將觸控探索狀態供應器預設實作的效能最佳化,現在會依賴
State<Boolean>,而非衍生狀態。(Ieec4d) - 我們已為 Android 13 以上版本設定
systemGestureExclusion矩形。(Ib1f4b)
1.3.0-alpha07 版
2023 年 10 月 4 日
發布 androidx.wear.compose:compose-*:1.3.0-alpha07。1.3.0-alpha07 版包含此連結所列的修訂項目。
API 變更
- 我們在
PositionIndicator中新增了個別旗標,可控制不同動畫:showFadeInAnimation、showFadeOutAnimation和showPositionAnimation。舊版 API 已淘汰,並將呼叫轉送至新版 API。基於效能考量和使用者體驗一致性,如果PositionIndicator與可捲動清單搭配使用,建議關閉showFadeInAnimation和showPositionAnimation標記。如果PositionIndicator是做為獨立指標使用 (例如音量變更),建議開啟所有 3 種動畫。(Ia2d63)
修正錯誤
- 我們改善了滑動顯示動作,在主要動作文字中加入淡出動畫,並在完全滑動展開時淡出次要動作/變更圖示比例。(Ib7223)
- 建議您讓「滑動顯示」動作可供存取,我們已在「滑動顯示」範例中新增自訂無障礙動作。(I42224)
- 我們已提升
SwipeToDismissBox的效能,包括重構以確保初始邏輯不會觸發重組。SwipeToDismissBox現在會以全螢幕大小繪製。(Ie0aa2) - 修正
PositionIndicator錯誤消失的錯誤。(I2091a) - 透過最佳化重組作業,提升
PositionIndicator的效能。後續新增了可控制動畫的新旗標 (fadeIn、fadeOut和positionChange) (請參閱「API 變更」) (Ifac7d) - 我們已為
PositionIndicator新增 Microbenchmark 測試 (Idf875)
1.3.0-alpha06 版
2023 年 9 月 20 日
發布 androidx.wear.compose:compose-*:1.3.0-alpha06。1.3.0-alpha06 版包含此連結所列的修訂項目。
修正錯誤
- 我們已在
SwipeToReveal中新增對Modifier.edgeSwipeToDismiss的支援。(I95774、b/293444286) - 我們已新增 Material
SwipeToRevealChip和SwipeToRevealCard的範例。(Ieb974) - 我們已更新 Wear Compose Foundation 和 Material 程式庫的基準設定檔。(I1dd1f)
1.3.0-alpha05 版
2023 年 9 月 6 日
發布 androidx.wear.compose:compose-*:1.3.0-alpha05。1.3.0-alpha05 版包含此連結所列的修訂項目。
修正錯誤
1.3.0-alpha04 版本
2023 年 8 月 23 日
發布 androidx.wear.compose:compose-*:1.3.0-alpha04。1.3.0-alpha04 版包含此連結所列的修訂項目。
新功能
- 我們已為
SwipeToReveal的次要動作新增復原支援。(I7a22d)
API 變更
- 在 Wear Material3 程式庫中新增
HorizontalPageIndicator。(Ifee99) - 更新 Wear Compose 預覽工具,改用
androidx.wear.tooling.preview程式庫。(Ib036e)
修正錯誤
- 修正圓形按鈕的錯誤,即修飾符未正確串連。(I5e162)
1.3.0-alpha03 版
2023 年 8 月 9 日
發布 androidx.wear.compose:compose-*:1.3.0-alpha03。1.3.0-alpha03 版包含此連結所列的修訂項目。
API 變更
- 我們在 Material 中新增了兩個可組合項,用於實作含有資訊卡和晶片的
SwipeToReveal。這些可組合項遵循元件的建議 UX 指南,方便開發人員使用 Wear Material 中的現有元件實作SwipeToReveal。(I7ec65) - 我們已將先前在註解中說明的
FloatRange註解設為 API 限制。(Icb401)
修正錯誤
- 我們已將
ScalingLazyColumn的初始捲動邏輯移至onGloballyPositioned()內。(Ic90f1) - 我們現在會在
PositionIndicator、ProgressIndicator和SelectionControls中使用drawWithCache,以最佳化筆劃分配。(I5f225、b/288234617) - 我們修正了停用狀態下核取方塊勾號的顯示問題。(Ib25bf)
- 我們已更新
Placeholder,允許在內容不再處於就緒狀態時重設,以顯示預留位置。(Ibd820) - 我們修正了不穩定的
Placeholder測試 (Idb560)
1.3.0-alpha02 版本
2023 年 7 月 26 日
發布 androidx.wear.compose:compose-*:1.3.0-alpha02。查看 1.3.0-alpha02 版的修訂項。
API 變更
- 我們提供
ExpandableStateMapping,這是產生ExpandableStates的新方法,適用於需要隨選建立ExpandableStates的情況,不一定在@Composable範圍內 (Iff9e0) SwipeToDismissBox已從androidx.wear.compose.material遷移至androidx.wear.compose.foundation套件。(I275fb)- 更新 API 檔案,為相容性抑制功能加上註解。(I8e87a、b/287516207)
- 我們已公開
Chip、CompactChip和ToggleChip的高度常數 (Idbfde) - 我們已公開
Chip和CompactChip的水平和垂直邊框間距。(Ieeaf7) - 新增功能,可透過新的
userSwipeEnabled參數,在SwipeDismissableNavHost中關閉滑動處理功能。(Id2a0b、b/230865655) - 我們已更新 Wear Compose Navigation 程式庫,使用 Wear Compose Foundation 的新版
SwipeToDismissBox。(I4ff8e)
修正錯誤
- 我們修正了 z 順序錯誤,現在點選按鈕後,
expandedItem會顯示正確內容。(I1899d、b/289991514) - 使用
HierarchicalFocusCoordinator改善SwipeToDismissBox(因此也包括SwipeDismissableNavHost) 的焦點處理方式 (I45362、b/277852486) - 我們已修正
SwipeableV2中的手勢處理方式。(I89737) - 我們已完成 1.2 版的基準設定檔。(Id5740)
SwipeToDismissBox遷移至 Foundation 後,MaterialSwipeToDismissBox實作項目現在會轉送至 Foundation,並從其主題提供預設顏色值。(If8451)- 我們已在
ListHeader中新增標題語意。(Ic5420) - 現在,
Chip和ToggleChip會視需要調整高度,以配合因無障礙功能而變大的字型。(Iaf302) - 修正
SplitToggleChip可輕觸區域的語意角色,以提升無障礙功能。(Ieed3a) - 「減少動態效果」設定現在會關閉預留位置的微光效果和抹除動作。(I91046)
Stepper和InlineSlider現在支援長按時重複點擊,因此按住 + 或 - 按鈕即可快速增加/減少Stepper和InlineSlider的值。(I27359)
1.3.0-alpha01 版本
2023 年 6 月 21 日
發布 androidx.wear.compose:compose-*:1.3.0-alpha01。1.3.0-alpha01 版本包含以下修訂項目。
修正錯誤
- 如
1.2.0-alpha07和1.2.0-alpha10所述,我們現在要變更DefaultTextStyle,關閉字型邊框間距,確保 Android 平台的一致性。這項變更可解決部分文字在字型較大時遭到裁剪的問題,但也可能影響畫面配置,因此您需要更新螢幕截圖測試。舉例來說,我們在這裡看到文字遭到剪裁 (Ic6a86)
- 關閉字型邊框間距後,系統就不會再顯示:
- 我們已更新
wear.compose.foundation,使其成為wear.compose.material的 API 依附元件 (I72004、b/285404743) - 我們修正了
SwipeToDismissBox中的錯誤。背景和內容鍵現在會傳遞至 remember 區塊,以便在內容或背景變更時建立新的修飾符。(Ib876c、b/280392104) - 我們已更新
TimeText,在選擇 12 小時或 24 小時制的時間格式時,會使用語言代碼。(If4a3d) - 我們修正了
SwipeToDismissBoxcontentScrimColor預設參數的不一致問題。(I2d70f) - 我們改善了
SwipeToReveal中的動作處理方式。(I28fb7)
已知問題
- 支援使用者設定的字型大小是無障礙規定。我們發現,如果字型大小較大,多行「晶片」可能會導致文字遭到剪裁,因此我們將在 1.3 版的早期 Alpha 版中更新「晶片」,以便在這些情況下調整高度。
1.2 版本
1.2.1 版本
2023 年 10 月 18 日
發布 androidx.wear.compose:compose-*:1.2.1。查看 1.2.1 版的修訂項目。
修正錯誤
- 修正
PositionIndicator錯誤消失的錯誤。(7a167f)
1.2.0 版本
2023 年 8 月 9 日
發布 androidx.wear.compose:compose-*:1.2.0。1.2.0 版包含此連結所列的修訂項目。
自 1.1.0 版以來的重要異動
- Compose for Wear OS 1.2.0 的穩定版本 (瞭解詳情)
- 如需 Wear Compose 1.2 的主要變更清單,請參閱「Compose for Wear OS 1.2 Beta01」的版本資訊。
1.2.0-rc01 版本
2023 年 7 月 26 日
發布 androidx.wear.compose:compose-*:1.2.0-rc01。查看 1.2.0-rc01 版的修訂項目。
修正錯誤
- 我們已完成 1.2 版的基準設定檔 (Id5740)
1.2.0-beta02 版
2023 年 6 月 7 日
發布 androidx.wear.compose:compose-*:1.2.0-beta02。1.2.0-beta02 版包含此連結所列的修訂項目。
新功能
- 我們新增了實驗性
LocalReduceMotionCompositionLocal變數,可停用ScalingLazyColumn的縮放和淡出效果。(I58024)
修正錯誤
- 我們已更新 Wear Compose 基礎和 Material 程式庫的基準設定檔(I4725d)
- 修正
SwipeToDismissBoxcontentScrimColor參數預設值不一致的問題 (I2d70f) - 我們已修正
IncludeFontPadding設定 (I737ed) 所用的DefaultTextStyle預設值
1.2.0-beta01 版本
2023 年 5 月 24 日
發布 androidx.wear.compose:compose-*:1.2.0-beta01。查看 1.2.0-beta01 版的修訂項。
Compose for Wear OS 1.2 的功能
Compose for Wear OS 的 1.2-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。Wear Compose 1.2 內附下列新功能:
expandableItem和expandableItems是兩個新的Foundation元件,支援在ScalingLazyColumn中展開項目。如果是單一可展開項目,例如行數不確定的文字,請使用expandableItem。針對可展開的項目群組使用expandableItems,並使用expandableButton簡化按鈕的建立作業,讓按鈕在內容展開後收合。HierarchicalFocusCoordinator:這項實驗性可組合項可將組合中的子樹狀結構標示為已啟用或已停用焦點。Picker- API 現在包含userScrollEnabled,可控制挑選器是否處於作用中,以供使用者捲動。PickerGroup:可一併處理多個 Picker 的新可組合函式。這項功能會使用HierarchicalFocusCoordinatorAPI 處理 Picker 之間的焦點,並讓 Picker 項目自動置中。Placeholder- 我們更新了亮色和「抹除」動畫。內容準備就緒後,系統會立即套用抹除效果。ScalingLazyColumn:我們已將ScalingLazyColumn和相關聯的類別從androidx.wear.compose.material.ScalingLazyColumn遷移至androidx.wear.compose.foundation.lazy.ScalingLazyColumn。請更新至Foundation.Lazy版。SwipeToReveal- 我們已新增實驗性支援,可透過滑動顯示次要動作,補充現有的「長按」模式。Stepper- 現在有超載,並提供額外的enableRangeSemantics參數,方便停用預設的範圍語義。Previews- 我們新增了下列自訂註解,可在 Wear 螢幕上預覽可組合函式:WearPreviewSmallRound可在小型圓形裝置上預覽可組合函式;WearPreviewLargeRound可在大型圓形裝置上預覽可組合函式;WearPreviewSquare可在方形裝置上預覽可組合函式。此外,下列和多重預覽註解:WearPreviewFontScales會在字型大小不同的 Wear 裝置上預覽可組合函式,而WearPreviewDevices則會在不同的 Wear 裝置上預覽可組合函式。- 我們已在 Wear Compose 中新增
DefaultTextStyle,預設會將PlatformTextStyle.includeFontPadding屬性設為 true (這是目前的設定)。這樣一來,我們就能在 1.3 Alpha 版初期,將預設關閉字型邊框間距的設定與 Compose 程式庫同步處理。詳情請參閱 1.2.0-alpha10。
新功能
- 我們新增了實驗性支援,在啟用 reduce_motion 設定時,可停用縮放和淡出動畫。(I58024)
修正錯誤
- 改善
CurvedSize.kt中angularWidthDp的說明文件 (Iab75c) SwipeDismissableNavHost現在會記錄警告,並列出可能導致返回堆疊空白的原因。這是為了避免因IllegalArgumentException而導致非預期的當機,因為當返回堆疊為空時,系統會擲回IllegalArgumentException。(I04a81、b/277700155)
1.2.0-alpha10 版本
2023 年 5 月 10 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha10。1.2.0-alpha10 版本包含以下修訂項目。
新功能
- 我們已新增「滑動顯示」功能,方便使用者存取次要動作。這個模式是「長按」模式的補充,使用者可以透過長按模式顯示 (不同) 次要動作。(I60862)
API 變更
- 我們已在
SwipeToReveal的動作可組合項中新增RevealScope,可存取顯示其他動作的位移。(I3fd56)
修正錯誤
- 修正 Wear API 33 在輕拂後
ScalingLazyColumn停滯的問題 (Ic4599) - 我們針對
PositionIndicator進行了一些效能改善,以減少資源浪費。(I35e92) - 我們修正了 Chip 和
CompactChip的錯誤,現在語意角色會重新設為Role.Button。(I93f91、b/277326264)
已知問題
我們發現 Android Studio 存在錯誤,導致使用 @WearPreviewDevices 和 @WearPreviewFontScales 註解時,預覽畫面無法轉譯。修正程式預計很快就會發布。請注意,其他 Wear OS 預先發布版註解在 Android Studio Giraffe 2022.3.1 以上版本中可正常運作。
在 1.2.0-alpha07 版中,我們將 DefaultTextStyle 新增至 Wear Compose,並將現有的 PlatformTextStyle.includeFontPadding 值設為 true,如需背景資訊,請參閱「修正 Compose 中的字型邊框間距」。我們將在 1.3 版的早期 Alpha 版本中變更 DefaultTextStyle,關閉字型邊框間距,確保 Android 平台的一致性。這項變更可解決大字型大小導致文字遭到裁剪的問題,但也可能影響畫面版面配置,因此需要更新螢幕截圖測試。舉例來說,如果字型大小過大,文字就會像這樣遭到裁剪:
- 關閉字型邊框間距後,系統就不會再顯示:
如要採用這項新設定,請立即覆寫主題中的排版,詳情請參閱範例程式碼。
1.2.0-alpha09 版本
2023 年 4 月 19 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha09。1.2.0-alpha09 版本包含以下修訂項目。
API 變更
- 在
CurvedModifierAPI 中新增angularSizeDp,以便以 DP 為單位設定角度寬度 (I89a52)
修正錯誤
- 修正時間挑選器試用版的無障礙功能問題(Id0eb7)
1.2.0-alpha08 版
2023 年 4 月 5 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha08。查看 1.2.0-alpha08 版的修訂項。
API 變更
- 我們已將「
ExpandableItemsState」重新命名為「ExpandableState」。(If85ea) - 我們新增了
expandableButton,方便您建立按鈕,在內容展開時收合,並更新了可展開的範例。(Iae309)
修正錯誤
- 改良可展開的範例,顯示更多可能性。修改
expandableItem的動畫,讓內容在動畫期間保持置中。(I2f637) - 更新
ToggleControls,避免使用 State 手動為顏色製作動畫時,發生額外的重組作業。(I5d319)
1.2.0-alpha07 版
2023 年 3 月 22 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha07。查看 1.2.0-alpha07 版的修訂項。
API 變更
- 我們已將可展開項目元件 (在 1.2.0-alpha06 中新增) 從 Material 移至基礎,因為這些元件沒有任何有意義的
MaterialTheme參照。(Ib0525)
修正錯誤
- 我們修正了使用
PickerGroup的畫面發生當機的問題,確保沒有 Picker 具有焦點時,PickerGroup能正確處理焦點。此外,我們也在 Picker 示範中新增了 RSB 捲動支援。(If8c19) - 我們改善了對話方塊轉換效果,現在開場轉換效果更流暢,與結尾轉換效果一致。(Ib5af9)
- 我們已在 Wear Compose 中新增
DefaultTextStyle,預設會將PlatformTextStyle.includeFontPadding屬性設為 true (這是目前的設定)。這樣一來,我們就能在日後預設關閉字型邊框間距,並與 Compose 程式庫同步處理 - 如需背景資訊,請參閱「修正 Compose 中的字型邊框間距」。(I2aee8) - 透過 activity-compose 還原
UpsideDownCake預覽版依附元件,解決無法將應用程式發布至 Google Play 商店的問題。(I6443d)
1.2.0-alpha06 版本
2023 年 3 月 8 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha06。查看 1.2.0-alpha06 版的修訂項目。
API 變更
- 新增
CurvedBox元件,將元件放置在彎曲世界中的彼此頂端。(I29200) - 新增可展開項目 - 兩個新元件,支援
ScalingLazyColumn中的一組可展開項目,或可展開的單一項目,例如行數會增加的文字。(I95dd5) - 我們新增了下列自訂註解,可在 Wear 螢幕上預覽可組合函式:
WearPreviewSmallRound可在小型圓形裝置上預覽可組合函式;WearPreviewLargeRound可在大型圓形裝置上預覽可組合函式;WearPreviewSquare可在方形裝置上預覽可組合函式。此外,下列和多重預覽註解:WearPreviewFontScales會在字型大小不同的 Wear 裝置上預覽可組合函式,而WearPreviewDevices則會在不同的 Wear 裝置上預覽可組合函式。如要使用這些預先發布版,必須使用最新版 Android Studio (Giraffe Canary 6 以上版本)。請注意,如果這些註解不符合您的需求,您還是可以使用「預覽」,並透過參數進一步自訂。(I397ff) - 由於
HierarchicalFocusCoordinator適用範圍廣泛,我們已將其標示為實驗功能,並視為可移至核心 Compose 程式庫的候選項目。(I3a768)
修正錯誤
- 修正
HierarchicalFocusCoordinator的錯誤:當為focusEnabled參數傳遞的 lambda 變更時,我們現在會正確使用新的 lambda。(Icb353) - 在
Button、CompactButton、Chip、CompactChip和ToggleButton中使用原色做為背景時,我們已將預設的停用內容顏色更新為「背景」。這有助於提高對比度,方便存取。(I527cc)
1.2.0-alpha05 版本
2023 年 2 月 22 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha05。查看 1.2.0-alpha05 版的修訂項目。
API 變更
- 更新
PickerGroupAPI,允許將最小限制條件傳播至可組合項 (選用)。如果設為 true,PickerGroup允許使用從父項可組合函式傳遞的最小限制。如果設為 false,PickerGroup會重設最低限制。(I3e046) - 我們在 Picker API 中新增了
animateScrollToOption,以便支援以程式輔助方式將動畫套用至特定 Picker 選項 (I6fe67)
修正錯誤
- 我們已更新
HorizontalPageIndicator,支援由右至左的版面配置。(Ia4359) - 在
HorizontalPageIndicator中新增從右到左版面配置的螢幕截圖測試 (I6fbb8) - 在
SwipeDismissableNavHostTest中新增更多使用TestNavHostController的測試 (I61d54)
1.2.0-alpha04 版本
2023 年 2 月 8 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha04。1.2.0-alpha04 版包含此連結所列的修訂項目。
新功能
PickerGroup:使用焦點 API 一併處理多個 Picker。這項功能可處理不同 Picker 之間的焦點,並讓 Picker 依據參數自動置中。透過此功能,開發人員可以變更不同 Picker 之間的焦點,同時處理群組中的事件。在 TalkBack 模式下,PickerGroup會將焦點移至群組中的所選 Picker,藉此處理 TalkBack 焦點 (I60840)。
API 變更
- 我們已透過額外的
enableRangeSemantics參數為 Stepper 新增超載,以便停用預設的範圍語義 (Ia61d4)
修正錯誤
- 允許將
ScalingLazyColumn加入橫向捲動頁面的巢狀結構中 (Iec3f8、b/266555016) - 改善 Stepper kdoc 和
StepperTest測試清理功能 (Ic118e) - 將
androidx.navigation依附元件更新為 2.5.3 版 (If58ed)
1.2.0-alpha03 版
2023 年 1 月 25 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha03。查看 1.2.0-alpha03 版的修訂項。
API 變更
- 我們已將
ScalingLazyColumn(及其相關類別) 從androidx.wear.compose.material.ScalingLazyColumn遷移至andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn(詳情請參閱遷移相關範例)。這個新位置更符合compose.foundation.lazy.LazyColumn的位置,也較自然,因為它並不是絕對的 Material 元件。為了準備新的 Material3 程式庫,我們仍在進行變更,也會同時調整現有的 Material 程式庫 (I060e7)。
以下為 ScalingLazyColumn 從 Material 遷移至 Foundation.Lazy 的過程中進行的變更:
- 以 Material
ScalingLazyColumn為目標的PositionIndicatorAPI 已淘汰,請更新至Foundation.Lazy ScalingLazyColumn。此外,已在ScalingLazyListLayoutInfo中新增anchorType欄位 (I29d95)。 - 已在 Wear Compose Material 套件中將
ScalingLazyColumn標示為已淘汰 (I16d34) - 我們已更新
ScrollAway修飾符來使用 Wear ComposeFoundation.Lazy提供的ScalingLazyListState,並淘汰從 Wear Compose Material 接收ScalingLazyListState的超載 (Ifc42c)。 - 我們已更新 Dialog API 來使用
Foundation.Lazy提供的ScalingLazyListState,並淘汰使用 MaterialScalingLazyListState的超載 (Ic8960) - 我們已更新 Picker API 來使用
Foundation.Lazy提供的ScalingParams,並淘汰使用 MaterialScalingParams的超載 (Idc3d8)。
修正錯誤
- 修正
ScalingLazyListState.centerItemIndex中導致不必要重組的錯誤,確保其只會在值實際發生變更時推送更新 (Ia9f38) - 我們改善了
SwipeToDismissBox的效能。(I3933b) - 在 Wear Compose Foundation 中新增
ScalingLazyColumn的基準測試 (Ie00f9) - 我們已更新 Material 中的部分內部
ScalingLazyColumn類別方法,讓這些方法使用Foundation.Lazy中的對等項目 (I38aab) - 我們修正了 Picker 測試的一些問題,並新增更多使用偏移值檢查捲動的測試 (I6ac34)
- 我們將
ScalingLazyColumn整合示範改為依附Foundation.Lazy而非 MaterialScalingLazyColumn(Ic6caa) - 我們已在
DatePicker示範中加入選用的fromDate/toDate參數 (I961cd)
1.2.0-alpha02 版本
2023 年 1 月 11 日
發布 androidx.wear.compose:compose-*:1.2.0-alpha02。1.2.0-alpha02 版包含此連結所列的修訂項目。
API 變更
- Android Compose UI 測試會在執行畫面要進入閒置狀態 (例如透過
waitForIdle) 時,為每個畫面執行版面配置傳遞作業。這可能會影響到宣告版面配置動畫的個別畫面測試 (I8ea08、b/222093277)。 - 在 Wear Text 中新增
minLines參數,使其行為與BasicText保持一致 (I24874) CompactChipTapTargetPadding已開放使用,因此會顯示在說明文件中 (If1e70、b/234119038)
修正錯誤
- 停用
wear.compose套件的多平台版本 (Iad3d7) - 修正
scrollToOption的 KDoc (I6f9a0) PlaceholderState.rememberPlaceholderState()已更新為使用rememberUpdatedState,因此在發生onContentReadylambda 情形時,該狀態就會更新。(I02635、b/260343754)- 我們利用
Modifier.graphicsLayer中的新組合策略,修正了在Picker元件中發生的文字時基誤差問題。(I99302) - 修正在
DatePicker試用版中導致畫面閃爍的錯誤 (I660bd) - 改善 12 小時時間和日期挑選器試用版的無障礙設計 (I05e12)
- 更新時間和日期挑選器試用版,讓挑選器在未選取的情況下,不會受到 RSB 變更的影響 (I4aecb)
1.2.0-alpha01 版本
2022 年 12 月 7 日
發布了 androidx.wear.compose:compose-*:1.2.0-alpha01。1.2.0-alpha01 版包含此連結所列的修訂項目。
新功能
- 我們已更新 Placeholder 實驗功能,讓內容準備就緒後立即套用「抹除」效果,不必等待下一個動畫迴圈開始。此外,我們還更新了亮色和抹除動畫。(I5a7f4)
API 變更
- 我們已新增
HierarchicalFocusCoordinator可組合項,以將組合中的子樹狀結構標示為已啟用或已停用聚焦 (I827cb)。 - 我們已新增新屬性,以覆寫
ToggleButton的語意角色。(I67132) - 我們已更新
TimeTextDefaults.TimeFormat12Hours,以移除TimeText中的上午/下午。這會變更TimeTextAPI 中timeSource參數的預設值。(I1eb7f) - 我們已擴充 Picker API,改善畫面中有多個挑選器時的無障礙功能。當中有一個新屬性
userScrollEnabled,可控制挑選器是否處於作用中,以供使用者捲動。(I3c3aa)
修正錯誤
OutlinedButton/OutlinedCompactButton的預設邊框寬度已從 2.dp 變更為 1.dp,以符合最終的使用者體驗規格。(Icf84d)- 為了減少第一個新增至空白
ScalingLazyColumn的項目效果,顯示捲動到適當位置,我們已新增內容為空時的預估autoCentering topPadding。此變更會假設初始項目的高度為 0.dp,藉此計算所需的頂端邊框間距。如為ScalingLazyListAnchorType.ItemStart,這會計算正確的頂端邊框間距。如為ScalingLazyListAnchorType.ItemCenter,由於內容的高度必須配合項目實際高度來正確調整大小,讓使用者只要小幅捲動即可達到適當位置,因此計算結果會不正確。(I239a4)。 - 為配合 Wear 平台,我們已更新
SwipeToDismiss動畫的背景紗罩。(I9003e) - 我們已針對大小為 0 的清單項目修正
LazyListState和ScalingLazyListState的PositionIndicator處理方式,以避免除數為零的錯誤。(Ic28dd)
1.1 版
1.1.2 版
2023 年 2 月 8 日
發布 androidx.wear.compose:compose-foundation:1.1.2、androidx.wear.compose:compose-material:1.1.2 和 androidx.wear.compose:compose-navigation:1.1.2。1.1.2 版包含此連結所列的修訂項目。
修正錯誤
- 修正
ScalingLazyListState.centerItemIndex中導致不必要重組的錯誤,確保其只會在值實際發生變更時推送更新 (Ia9f38)
1.1.1 版
2023 年 1 月 11 日
發布 androidx.wear.compose:compose-foundation:1.1.1、androidx.wear.compose:compose-material:1.1.1 和 androidx.wear.compose:compose-navigation:1.1.1。1.1.1 版包含此連結所列的修訂項目。
修正錯誤
PlaceholderState.rememberPlaceholderState()已更新為使用rememberUpdatedState,因此在發生onContentReadylambda 情形時,該狀態就會更新。(I02635、b/260343754)
1.1.0 版本
2022 年 12 月 7 日
發布了 androidx.wear.compose:compose-foundation:1.1.0、androidx.wear.compose:compose-material:1.1.0 和 androidx.wear.compose:compose-navigation:1.1.0。1.1.0 版包含此連結所列的修訂項目。
自 1.0.0 版本以來的重要變更
- Compose for Wear OS 1.1.0 的穩定版本 (瞭解詳情)。
- 如需 Wear Compose 1.1 主要變更清單,請參閱「Compose for Wear OS 1.1 Beta01」的版本資訊。
新功能
- 我們已更新 Placeholder 實驗功能,讓內容準備就緒後立即套用「抹除」效果,不必等待下一個動畫迴圈開始。此外,我們還更新了亮色和抹除動畫。(I5a7f4)
修正錯誤
OutlinedButton/OutlinedCompactButton的預設邊框寬度已從 2.dp 變更為 1.dp,以符合最終的使用者體驗規格。(Icf84d)- 為了減少第一個新增至空白
ScalingLazyColumn的項目效果,顯示捲動到適當位置,我們已新增內容為空時的預估autoCentering topPadding。此變更會假設初始項目的高度為 0.dp,藉此計算所需的頂端邊框間距。如為ScalingLazyListAnchorType.ItemStart,這會計算正確的頂端邊框間距。如為ScalingLazyListAnchorType.ItemCenter,由於內容的高度必須配合項目實際高度來正確調整大小,讓使用者只要小幅捲動即可達到適當位置,因此計算結果會不正確。(I239a4)。 - 為配合 Wear 平台,我們已更新
SwipeToDismiss動畫的背景紗罩。(I9003e) - 我們已針對大小為 0 的清單項目修正
LazyListState和ScalingLazyListState的PositionIndicator處理方式,以避免除數為零的錯誤。(Ic28dd)
1.1.0-rc01 版
2022 年 11 月 9 日
發布 androidx.wear.compose:compose-foundation:1.1.0-rc01、androidx.wear.compose:compose-material:1.1.0-rc01 和 androidx.wear.compose:compose-navigation:1.1.0-rc01。1.1.0-rc01 版包含此連結所列的修訂項目。
修正錯誤
- 我們已新增
Placeholders、ScrollAway、RadioButton、Switch、Checkbox、OutlinedButton、OutlinedCompactButton、OutlinedChip和OutlinedCompactChip的基準設定檔規則。(I8249c) - 我們已修正
Modifier.scrollAway的錯誤,因此如果指定的itemIndex無效 (例如,如果該項目索引超出範圍),那麼系統現在仍會顯示TimeText。(I2137a) - 我們已配合平台實作方式更新
SwipeToDismissBox動畫。初始握壓動畫播放後,如果系統觸發關閉程序,畫面現在會向右滑出 (I41d34)。 - 為取得最佳化效果,我們已將
Modifier.scrollAway更新為只讀取測量區塊中的scrollState,以免每次重新測量後都要重組修飾符 (I4c6f1)。 - 我們已為預留位置新增說明文件和範例,以便在
Modifier.placeholder和Modifier.placeholderShimmer套用至相同的可組合項時,顯示正確的順序。(Ie96f4、b/256583229) OutlinedCompactChip/OutlinedChip的預設邊框寬度已從 2.dp 變更為 1.dp,以符合最終的使用者體驗規格。(Ib3d8e)- 我們已修正
rememberPickerState中更新輸入內容未儲存的錯誤,這麼一來,即使對輸入內容進行變更,可組合項也不會更新。(I49ff6、b/255323197) - 我們針對預留位置進行了部分 UI 更新:1) 將亮色梯度變更為 1.5 倍的螢幕大小,2) 新增亮色處理進度的緩動函式 (立方貝茲) 和 3) 加快抹除作業的動畫 (250 毫秒)。(Id29c1)
- 我們修正了預留位置抹除效果中的 UI 錯誤:由於未將元件在螢幕上的位置納入考量,導致方塊和卡片背景遭到抹除的時間稍微提前。(I2c7cb)
- 我們已更新預留位置背景繪圖以合併顏色,而非在情況允許時建立圖層,這麼做可降低不同裁剪圖層的 Alpha 混合風險,以免底層顏色在預留位置背景邊緣滲出。(I2ea26)
- 我們修正了
ScalingLazyListState.centerItemIndex/centerItemOffset的計算功能,這樣如果兩個項目同時出現在可視區域中心線的任一側,最接近的項目即會視為centerItem。(I30709、b/254257769) ScalingLazyListState.layoutInfo.visibleItemsInfo之前有會在ScalingLazyColumn初始化期間回報不正確偏移值的錯誤,此錯誤已經修正。現在系統會傳回空白清單,直到所有清單項目顯示完畢且擁有正確的偏移值為止。檢查ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()即可確認ScalingLazyColumn初始化完成,且項目已顯示 (I3a3b8)。
1.1.0-beta01 版本
2022 年 10 月 24 日
發布 androidx.wear.compose:compose-foundation:1.1.0-beta01、androidx.wear.compose:compose-material:1.1.0-beta01 和 androidx.wear.compose:compose-navigation:1.1.0-beta01。1.1.0-beta01 版包含此連結所列的修訂項目。
Compose for Wear OS 1.1 的功能
Compose for Wear OS 的 1.1.0-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定。
- Wear Compose 1.1 版本內附下列新功能:
- Picker - 改善 Picker 的無障礙功能,讓使用者可透過螢幕閱讀器瀏覽含有多個挑選器的畫面,也能使用內容說明。
- Picker
contentDescription參數現在只用於選定的 Picker 選項,並且採用可為空值的字串 (在先前的修訂項目中,必須將對應內容從選項傳送至內容說明,但只能使用選定的選項)。 - Picker 項目現在會一律採用置中對齊,藉此修正當
gradientRatio設為零時,會產生變更對齊方式副作用的錯誤。 Chip/ToggleChip- 我們已更新Chip/ToggleChip的預設漸層,使其符合最新的使用者體驗規格。ChipDefaults.gradientBackgroundChipColors已更新為從 50% 的 primary 開始,而非 32.5%。Chip/ToggleChip- 新增用於修改方塊形狀的超載。Chip/Button/ToggleButton- 新增 Chip 和 Button 的外框描繪樣式,以及全新的OutlinedChip和OutlinedButton可組合項,可提供具有細邊框的透明Chip/Button。- Card - 更新 Card 的預設漸層,使其符合最新的使用者體驗規格。
CardDefaults.cardBackgroundPainter已更新為從 30% 的 primary 開始,並於 20% 的onSurfaceVariant結束 (先前為 20% 至 10% 的onSurfaceVariant)。ToggleChip.toggleChipColors從 75% 平面到 32.5% primary 的線性漸層,變更為從 0% 平面到 50% primary。 Button/ToggleButton- 新增用於修改按鈕形狀的屬性。- Theme - 更新
MaterialTheme中的多種預設顏色,藉此改善無障礙功能,因為原始顏色的對比度不足,導致使用者難以區分方塊/資訊卡/按鈕的背景與主題背景顏色。 InlineSlider/Stepper- 新增 Button 角色,讓Talkback可將其視為按鈕。- Scaffold -
PositionIndicator已定位並調整大小,因此只要使用所需空間即可。這種做法很實用,舉例來說,如果在當中加入語意資訊,TalkBack 現在會在螢幕上取得PositionIndicator的正確邊界。 CurvedText/TimeText- 新增Modifier.scrollAway,可根據捲動狀態 (具有可處理Column、LazyColumn和ScalingLazyColumn的超載) 垂直捲動項目,使其顯示/不顯示在畫面中。使用者開始向上捲動項目清單時,系統通常會使用ScrollAway來捲動TimeText,使其不顯示在畫面中CurvedText/TimeText- 新增對CurvedTextStyle中fontFamily、fontStyle和fontSynthesis的支援,可用於curvedText和basicCurvedText。CurvedText/TimeText- 在建構函式中加入fontWeight,並新增CurvedTextStyle的複製方法ToggleControls- 新增Checkbox、Switch和RadioButton動畫切換控制項,與ToggleChip和SplitToggleChip搭配使用。這些控制項可用來取代ToggleChipDefaults提供的靜態圖示 (switchIcon、checkboxIcon和radioIcon)。- Placeholder - 新增對實驗性預留位置的支援,共有三種不同的視覺效果,可彼此相互搭配運用。
- 首先是在 Chip 和 Cards 等容器中使用的預留位置背景刷效果,可以在等待載入內容時,繪製在一般背景上。
- 其次則是用於繪製橢圓形預留位置小工具的修飾符 (
Modifier.placeholder()),這是繪製在載入中的內容上方。 - 第三是修飾符梯度/亮色效果 (
Modifier.placeholderShimmer()),會覆蓋在其他效果之上,讓使用者知道目前正在等待資料載入。- 所有這些效果都經過協調,並透過精心編排的方式一閃而過並抹除。
- 核心 Compose 依附元件已從 1.2 更新為 1.3
API 變更
- 字型參數 (
fontFamily、fontWeight、fontStyle和fontSynthesis) 現在可以直接指定為curvedText的參數 (Idc422)
修正錯誤
curveText和basicCurvedText現在可與 TalkBack 正確搭配運作,這些 API 會與經過調整大小和位置 (但為空白) 的 compose-ui 節點建立關聯,並使用文字做為內容說明 (I7af7c、b/210721259)- 修正
Picker的問題:當PickerState.repeatedItems = false時,在 Picker 內部的ScalingLazyColumn中新增 autoCentering 參數的明確設定,確保能將第零個選項捲動至檢視畫面的中央。(I8a4d7)
1.1.0-alpha07 版本
2022 年 10 月 5 日
發布 androidx.wear.compose:compose-foundation:1.1.0-alpha07、androidx.wear.compose:compose-material:1.1.0-alpha07 和 androidx.wear.compose:compose-navigation:1.1.0-alpha07。1.1.0-alpha07 版包含此連結所列的修訂項目。
新功能
- 我們開始支援實驗性的預留位置,共有三種不同的視覺效果,可彼此相互搭配運用。首先是在 Chip 和 Cards 等容器中使用的預留位置背景刷效果,可以在等待載入內容時,繪製在一般背景上。其次則是用於繪製橢圓形預留位置小工具的修飾符 (
Modifier.placeholder()),這是繪製在載入中的內容上方。第三是修飾符梯度/亮色效果 (Modifier.placeholderShimmer()),會覆蓋在其他效果之上,讓使用者知道目前正在等待資料載入。所有這些效果都經過協調,並透過精心編排的方式一閃而過並抹除。(I3c339)
API 變更
- 新增對
CurvedTextStyle中的fontWeight、fontFamily、fontStyle和fontSynthesis的支援,可用於curvedText和basicCurvedText。這些參數可用於指定曲線文字上的字型和樣式 (Iaa1a8)、(I72759)。 - 已將
Modifier.scrollAway的偏移參數更新為 Dp,以便與Modifier.offset保持一致 (先前是在像素中)。此外,亦重構為LayoutModifier增進效率 (I9f94b)。 - 在新的切換按鈕控制項 API 中,我們已將
RadioButton’s circleColor重新命名為ringColor。(I28fa9) - 我們新增了
Checkbox、Switch和RadioButton動畫切換控制項,與ToggleChip和SplitToggleChip搭配使用。這些控制項可用來取代ToggleChipDefaults提供的靜態圖示 (switchIcon、checkboxIcon及radioIcon)。(I8a8c4)
1.1.0-alpha06 版本
2022 年 9 月 21 日
發布 androidx.wear.compose:compose-foundation:1.1.0-alpha06、androidx.wear.compose:compose-material:1.1.0-alpha06 和 androidx.wear.compose:compose-navigation:1.1.0-alpha06。1.1.0-alpha06 版包含此連結所列的修訂項目。
新功能
- 我們新增了
Modifier.scrollAway,可根據捲動狀態 (具有多載,可處理Column、LazyColumn和ScalingLazyColumn) 垂直捲動項目,使其顯示/不顯示在畫面中。使用者開始向上捲動項目清單時,系統通常會使用ScrollAway來捲動TimeText,使其不顯示在畫面中 (I61766)。
修正錯誤
PositionIndicator已定位並調整大小,因此只要使用所需空間即可。這種做法很實用,舉例來說,如果在當中加入語意資訊,TalkBack 現在會在螢幕上取得PositionIndicator的正確邊界 (Ie6106、b/244409133)。
1.1.0-alpha05 版本
2022 年 9 月 7 日
發布 androidx.wear.compose:compose-foundation:1.1.0-alpha05、androidx.wear.compose:compose-material:1.1.0-alpha05 和 androidx.wear.compose:compose-navigation:1.1.0-alpha05。1.1.0-alpha05 版包含此連結所列的修訂項目。
修正錯誤
- 向
InlineSlider和Stepper新增了按鈕角色,以便 Talkback 將它們視為按鈕。(Icb46c、b/244260275) - 我們已修正 Scaffold 中位置指標和網頁指標的 Z 順序。這些指標現在位於暈影頂端,因此如果存在指標,不會被暈影遮蔽。(Ib988f、b/244207528)
1.1.0-alpha04 版本
2022 年 8 月 24 日
發布 androidx.wear.compose:compose-foundation:1.1.0-alpha04、androidx.wear.compose:compose-material:1.1.0-alpha04 和 androidx.wear.compose:compose-navigation:1.1.0-alpha04。1.1.0-alpha04 版包含此連結所列的修訂項目。
API 變更
- 我們已更新 MaterialTheme 中的多種預設顏色,以改善無障礙設計,因為原始顏色的對比度不足,導致使用者難以區分方塊/卡片/按鈕的背景與主題背景顏色。更新的顏色包括 surface(0xFF202124->0xFF303133)、onPrimary(0xFF202124->0xFF303133)、onSecondary(0xFF202124->0xFF303133)、primaryVariant(0xFF669DF6->0xFF8AB4F8) 和 onError(0xFF202124->0xFF000000)。雖然顏色變化比較細微,但可能會影響現有的螢幕截圖測試 (81ab09)。
修正錯誤
- 修正
ScalingLazyColumn中的邏輯錯誤,這類錯誤會導致具有少許清單項目 (通常是 2 個) 的清單無法完成初始化,進而導致結果顯示為透明。(504347)。
1.1.0-alpha03 版本
2022 年 8 月 10 日
發布 androidx.wear.compose:compose-foundation:1.1.0-alpha03、androidx.wear.compose:compose-material:1.1.0-alpha03 和 androidx.wear.compose:compose-navigation:1.1.0-alpha03。1.1.0-alpha03 版包含此連結所列的修訂項目。
新功能
- 我們新增了
Chips和Buttons的外框描繪樣式,以及全新的OutlinedChip和OutlinedButton可組合項,可提供具有細邊框的透明Chip/Button(Id5972)
API 變更
- 新增用於修改按鈕形狀的超載 (Icccde)
修正錯誤
- 我們已修正
ToggleChip的切換控制項區域大小,因為原本的大小與使用者體驗規格不符。使用者體驗規格要求在標籤與 24x24.dp 的切換控制項圖示區域之間留出 4.dp 的空格字元,確保總寬度為 28.dp。然而,系統實作時卻錯誤提供了 36x24.dp 的切換控制項區域,因而佔用了 8.dp 的可用文字標籤區域。注意:這項修正錯誤可為文字標籤提供額外空間,因此可能有助於改善溢出文字的文字版面配置。如果您的螢幕截圖測試包含ToggleChips,就可能需要更新。(I514c8、b/240548670)
1.1.0-alpha02 版本
2022 年 7 月 27 日
發布 androidx.wear.compose:compose-foundation:1.1.0-alpha02、androidx.wear.compose:compose-material:1.1.0-alpha02 和 androidx.wear.compose:compose-navigation:1.1.0-alpha02。1.1.0-alpha02 版包含此連結所列的修訂項目。
新功能
- 我們已將核心 Compose 程式庫中 Wear OS 的 Compose 依附元件從 1.2.0 更換為 1.3.0-alpha0X
API 變更
- 新增用於修改方塊形狀的超載 (I02e87)
修正錯誤
- 我們為顯示/隱藏對話方塊時暈影的顯示設定,以便與現有的縮放動畫保持一致 (Ida33e)。
- 已修正以下錯誤:捲動頁面時,一些快速滑過行為可能導致發生以零爲除數的情況 (I86cb6)。
- 修正
ChipDefaults.childChipColor()中的錯誤,確保已停用的背景顏色完全透明 (I2b3c3、b/238057342)。
1.1.0-alpha01 版本
2022 年 6 月 29 日
發布 androidx.wear.compose:compose-foundation:1.1.0-alpha01、androidx.wear.compose:compose-material:1.1.0-alpha01 和 androidx.wear.compose:compose-navigation:1.1.0-alpha01。1.1.0-alpha01 版包含此連結所列的修訂項目。
API 變更
- Picker 的
contentDescription參數現在只用於選定的 Picker 選項,並且採用可為空值的字串 (先前必須將對應內容從選項傳送至內容說明,但只會使用選定的選項)。(Ife6a7) - 我們改善了 Picker 的無障礙功能,讓使用者可透過螢幕閱讀器瀏覽含有多個挑選器的畫面,也能使用內容說明 (I64edb)。
修正錯誤
- 我們已更新 Wear Compose 程式庫內建的基準設定檔規則 (I9c694)
- 我們已更正從右向左模式下的方塊漸層方向。過去是從左上到右下,而現在則是從右上到左下。(Ic2e77)
- 我們已更新
Chip/ToggleChip/Card的預設漸層,使其符合最新的使用者體驗規格。ChipDefaults.gradientBackgroundChipColors已更新為從 primary 的 50% 開始,而非 32.5%。CardDefaults.cardBackgroundPainter已更新為從 30% 的 primary 至 20% 的onSurfaceVariant(先前為從onSurfaceVariant的 20% 至 10%)。ToggleChip.toggleChipColors從 75% surface 的線性漸層至 32.5% primary,變更為從 0% surface 至 50% primary (I43bbd) - 我們已在具有漸層背景的
Chip/ToggleChips背後加上背景顏色 (MaterialTheme.color.surface),這樣即可確保在極少數情況下,這些元素能在淺色背景中明顯呈現。(Ibe1a4、b/235937657) - Picker 項目現在會一律採用置中對齊,修正當
gradientRatio設為零時,會產生變更對齊方式副作用的錯誤 (I712b8)。
1.0 版本
1.0.2 版本
2022 年 9 月 7 日
發布 androidx.wear.compose:compose-foundation:1.0.2、androidx.wear.compose:compose-material:1.0.2 和 androidx.wear.compose:compose-navigation:1.0.2。1.0.2 版包含此連結所列的修訂項目。
修正錯誤
- 我們已修正 Scaffold 中位置指標和網頁指標的 Z 順序。這些指標現在位於暈影頂端,因此如果存在指標,不會被暈影遮蔽。(Ib988f、b/244207528)
1.0.1 版本
2022 年 8 月 24 日
發布 androidx.wear.compose:compose-foundation:1.0.1、androidx.wear.compose:compose-material:1.0.1 和 androidx.wear.compose:compose-navigation:1.0.1。1.0.1 版包含此連結所列的修訂項目。
修正錯誤
- 修正
ScalingLazyColumn中的邏輯錯誤,這類錯誤會導致具有少許清單項目 (通常是 2 個) 的清單無法完成初始化,進而導致結果顯示為透明 (076c61)。
1.0.0 版本
2022 年 7 月 27 日
發布 androidx.wear.compose:compose-foundation:1.0.0、androidx.wear.compose:compose-material:1.0.0 和 androidx.wear.compose:compose-navigation:1.0.0。1.0.0 版包含此連結所列的修訂項目。
1.0.0 的主要功能
- 這是 Compose for Wear OS 的第一個穩定版本 (瞭解詳情)。
- Compose for Wear OS 是以核心 Compose 程式庫為基礎建構,提供其他穿戴式裝置元件,並視情況針對穿戴式裝置量身打造核心 Compose 元件的替代實作方式。
- 如需 Wear Compose 主要元件清單,請參閱「Compose for Wear OS Beta01」的版本資訊。
修正錯誤
- 我們為顯示/隱藏對話方塊時暈影的顯示設定,以便與現有的縮放動畫保持一致 (Ida33e)。
- 已修正以下錯誤:捲動頁面時,一些快速滑過行為可能導致發生以零爲除數的情況 (I86cb6)。
- 修正
ChipDefaults.childChipColor()中的錯誤,確保已停用的背景顏色完全透明 (I2b3c3、b/238057342)。
1.0.0-rc02 版本
2022 年 6 月 22 日
發布 androidx.wear.compose:compose-foundation:1.0.0-rc02、androidx.wear.compose:compose-material:1.0.0-rc02 和 androidx.wear.compose:compose-navigation:1.0.0-rc02。1.0.0-rc02 版包含此連結所列的修訂項目。
修正錯誤
- 我們已更正從右向左 (RTL) 模式下的資訊卡漸層方向。過去是從左上到右下,而現在則是從右上到左下 (Ic2e77)。
- 我們已更新
Chip/ToggleChip/Card的預設漸層,使其符合最新的使用者體驗規格。ChipDefaults.gradientBackgroundChipColors已更新為從 50% 的 primary 開始,而非 32.5%。CardDefaults.cardBackgroundPainter已更新為從 primary 的 30% 開始,並於onSurfaceVariant的 20% 結束 (先前是從 onSurfaceVariant 的 20% 至 10%)。ToggleChip.toggleChipColors從 75% surface 的線性漸層至 32.5% primary,變更為從 0% surface 至 50% primary。(I43bbd) - 我們已在具有漸層背景的
Chip/ToggleChips背後加上背景顏色 (MaterialTheme.color.surface),這樣即可確保在極少數情況下,這些元素能在淺色背景中明顯呈現。(Ibe1a4、b/235937657) - 我們已更新 Wear Compose 程式庫內建的基準設定檔規則 (I9c694)
1.0.0-rc01 版本
2022 年 6 月 15 日
發布 androidx.wear.compose:compose-foundation:1.0.0-rc01、androidx.wear.compose:compose-material:1.0.0-rc01 和 androidx.wear.compose:compose-navigation:1.0.0-rc01。1.0.0-rc01 版本包含以下修訂項目。
API 變更
- Compose 程式庫中的介面現已使用 jdk8 預設介面方法建立 (I5bcf1)
修正錯誤
- 我們已從清單標頭中移除
fillMaxWidth()的明確呼叫,原因是已不再需要使用,而且如果在ScalinglazyColumn內混合使用ListHeader()和Chip()元件還可能發生問題,導致ListHeader項目在捲動進入/退出畫面時寬度也會隨之增加/縮減 (I37144、b/235074035) - 我們已修正
ScalingLazyColumn可能會導致清單項目在第 0 項達到特定大小 (含邊框間距) 時,除非使用者捲動畫面,否則無法正確繪製的錯誤 (Ic6159、b/234328517) - 我們稍微調整了當項目接近螢幕邊緣時,
ScalingLazyColumn的加/減速行為,以便配合使用者體驗規格更新內容。舊值CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)-> 新值CubicBezierEasing(0.3f, 0f, 0.7f, 1f)。如果想保留舊的行為,您可以覆寫ScalingLazyColumn的scalingParams(Ie375c) - 為
CompactChip新增邊框間距,確保輕觸目標的大小至少達到 48.dp 高,才能符合 Material 無障礙功能準則。這可能會影響您現有使用CompactChips的版面配置,因為這些項目需要使用更多空間。(I3d57c)
1.0.0-beta03 版本
2022 年 6 月 1 日
發布 androidx.wear.compose:compose-foundation:1.0.0-beta03、androidx.wear.compose:compose-material:1.0.0-beta03 和 androidx.wear.compose:compose-navigation:1.0.0-beta03。1.0.0-beta03 版包含此連結所列的修訂項目。
新功能
- 現在
ScalingLazyColumn可以在 Compose@Preview模式下使用了。(I3b3b6、b/232947354)
API 變更
- 將
ScalingLazyColumn.horizontalAlignment屬性的預設值由 Start 改為CenterHorizontally,如此一來,當清單項目並未填滿整個欄寬度時,會按照能顯示最多內容的方式對齊。如果想切換回之前的行為,請設定horizontalAlignment = Alignment.Start。(I9ed4b)
已知問題
- CompactChip 的輕觸高度低於 Material 無障礙功能準則。我們會在下個版本 (6 月 15 日) 修正此問題。如果您使用的是 CompactChip,這項變更會影響您的版面配置,因為 CompactChip 的上下方現在會有額外的邊框間距。請您調整並測試版面配置,或請參閱錯誤留言瞭解如何使用現有的行為。(b/234332135)
修正錯誤
- 新的新增或移除
TimeText開始文字動畫示範。(I16d75) - 新增
HorizontalPageIndicator.PagesState的測試 (I64ed0) - 更新
TimeText,以便更符合使用者體驗規格 (Ib7ea1)
1.0.0-beta02 版本
2022 年 5 月 18 日
發布 androidx.wear.compose:compose-foundation:1.0.0-beta02、androidx.wear.compose:compose-material:1.0.0-beta02 和 androidx.wear.compose:compose-navigation:1.0.0-beta02。1.0.0-beta02 版包含此連結所列的修訂項目。
新功能
- 現在即使處於唯讀模式,挑選器也會回應捲動事件。這樣使用者就不必在捲動之前,先輕觸選取 Picker。在唯讀模式中,除了目前所選選項之外,其他選項都無法以
gradientColor的填充遮蔽。(I72925) - 我們已變更
Chip/ToggleChip/CompactChip/SplitToggleChip的使用者體驗行為,禁止這些項目在預設情況下執行fillMaxWidth,而會配合內容調整尺寸。如要保留先前的行為,只要新增modifier = Modifier.fillMaxWidth()(I60a2c、b/232206371) 即可
修正錯誤
- 採用
TextStyle的CurvedTextStyle建構函式現在也會遵循fontWeight(這項設定可於日後的 API 修訂版本中,新增至建構函式和複製方法) (Ieebb9) - 改善邊緣滑動功能。使用
Modifier.edgeSwipeToDismiss時,如果從邊緣區域觸發左側滑動,則滑動方向變為向右時,不會再觸發滑動關閉。以往只要向左滑動,再往右滑動即可啟動滑動手勢 (I916ea)。 HorizontalPageIndicator現在可以在螢幕上顯示最多 6 頁。如果網頁總數超過 6 頁,左側或右側會有一個半尺寸指標,頁面之間會流暢地轉換 (I2ac29)。- 改善了
ScalingLazyColumn和Picker的預設貼齊行為 (I49539) - 改善邊緣滑動功能。使用
Modifier.edgeSwipeToDismiss時,只有第一次輕觸到邊緣並往右滑動時,滑動關閉才會觸發。以往只要捲動到達起點,即可從螢幕的任何部分滑動來觸發滑動關閉。(I8ca2a)
1.0.0-beta01 版
2022 年 5 月 11 日
發布 androidx.wear.compose:compose-foundation:1.0.0-beta01、androidx.wear.compose:compose-material:1.0.0-beta01 和 androidx.wear.compose:compose-navigation:1.0.0-beta01。1.0.0-beta01 版包含此連結所列的修訂項目。
Compose for Wear OS 1.0 的功能
隨著程式庫功能建置完成且 API 成功鎖定,Compose for Wear OS 的 1.0.0-beta01 標示了重要的里程碑。
1.0 版本提供的 Wear Compose Material Design 元件包括:
- Material Theme - 用作取代 Compose for Mobile
MaterialTheme的替代功能,在導入時立即導入 Wear Material Design 使用者體驗指南的穿戴式裝置上提供構建元件的色彩、圖形和字型排版。 Button、CompactButton和ToggleButton- 按鈕提供一個用來擷取圖示、圖片或簡短文字的版位 (最多 3 個字元)。圓形的圖形,適用於預設、大型或小型按鈕的建議大小。CompactButton提供單一版位,可擷取任何內容 (圖示、圖片或文字),且外型為圓形,背景尺寸為超小。CompactButton會在背景周圍提供透明的邊框間距 (可選),增加可點擊的區域。ToggleButton按鈕提供單一版位,可擷取任何內容 (簡短文字、圖示或圖片),具有開啟/關閉 (已勾選/未勾選) 狀態,帶有顏色和不同圖示,以顯示是否已勾選- 資訊卡 - 用於顯示應用程式的相關資訊,例如通知。
AppCard和TitleCard針對不同用途提供了彈性設計,針對資訊卡內容或背景提供不同的版面配置和圖片支援。 - 方塊 - 體育場形狀的元件,與按鈕類似,但面積較大且有多個版位,可用於標籤、次要標籤和圖示。支援多種尺寸,並以圖片為背景。
- ToggleChip 和 SplitToggleChip - 具有已勾選/未勾選狀態的方塊,並加入顯示圖示的
ToggleControl版位,例如用於顯示元件已勾選狀態的切換鈕或圓形按鈕。此外,SplitToggleChip中有兩個可輕觸的區域,一個可點擊,另一個可切換。 - CircularProgressIndicator - Wear Material 進度指標,共有兩種版本。第一種表示進行中的工作完成比例,並支援起始和結束角度的圓形軌跡間隙。第二種則指示未指定等候時間的未知進度。
- curvedText - 構成 DSL 的一部分,用於描述
CurvedLayouts、curvedRow和curvedColumn,以便在圓形裝置周圍佈置元件。如要進一步瞭解CurvedLayout和CurvedModifier,請參閱下文對於 Wear Component Foundation 的說明 (這個做法在非曲線世界中與「修飾符」的作用類似),而且可以設定版面配置、邊框間距、漸層等各個面向。 - 對話方塊、快訊和確認 - 對話方塊會顯示全螢幕對話方塊,疊加任何其他內容,並支援滑動關閉。它需要一個應針對 Wear Material 對話方塊內容的版位,例如「快訊」或「確認訊息」。快訊是針對對話方塊內容,提供圖示、標題和訊息的版位。它可承載兩個並排顯示的負數按鈕和正數按鈕,或一個用於一個或多個垂直堆疊的方塊的版位。確認訊息是針對對話方塊內容,會在指定期間內顯示訊息。它有一個圖示或圖片的版位 (可能是動畫)。
- HorizontalPageIndicator - 以適於穿戴式裝置板型規格的方式顯示水平頁面位置。專為全螢幕設計,可在圓形裝置上顯示弧形指標。可搭配 Accompanist 網頁檢視器使用。
- Icon - Wear 的 Icon 實作方式,會從 Wear Material Theme 取得顏色和 Alpha 值。如需可點擊圖示,請參閱 Button 或 Chip。
- Picker - 顯示可捲動的項目清單,讓使用者從中選擇項目。根據預設,兩個項目會在兩個方向上「無限」重複。以唯讀模式顯示即可隱藏未選取的選項。
- PositionIndicator - 以適於穿戴式裝置板型規格的方式顯示捲動位置或其他位置指示。專為全螢幕設計,可在圓形裝置上顯示弧形指標。
- Scaffold - 實作基本 Wear Material Design 視覺版面配置結構。這個元件提供的 API 可將多個 Wear Material 元件 (例如
TimeText、PositionIndicator和Vignette) 組合用於建構螢幕,確保這類元件配置適當的版面配置策略,並收集必要的資料,讓這些元件能搭配運作正確。 - ScalingLazyColumn - 捲動縮放/魚眼清單元件,構成 Wear Material Design 語言的關鍵部分。為內容項目提供縮放和透明度效果。
ScalingLazyColumn是專為處理大量內容項目而設計,只有在需要的時候才會產生具體情況或加以撰寫。 - Slider - 可讓使用者從多種不同的值中選擇。所選範圍會以長條形式顯示,也可以選擇使用分隔符顯示。
- Stepper - 一個全螢幕元件,可讓使用者使用畫面頂端和底部的增加/減少按鈕選取值,且在中間具有版位,可插入文字或方塊。
- SwipeToDismissBox - 處理滑動關閉手勢。它需要一個用於背景 (僅在滑動手勢時顯示) 和前景內容的版位。也可選擇將
SwipeDismissableNavHost與 Androidx 導覽庫 (參閱下方 Wear Compose Navigation 程式庫) 合併使用。 - Text - Wear 實作的 Compose Material Text 元件,從 Wear Material Theme 取得色彩和 Alpha 值
- TimeText - 會在螢幕頂端顯示時間和應用程式狀態的元件。在圓形螢幕上使用曲線文字,將畫面內容調整為螢幕形狀。
Vignette - 用於 Scaffold 的螢幕處理方式,會在使用可捲動內容時對螢幕頂端和底部進行模糊處理。
Wear Compose Foundation 還提供下列元件:
CurvedLayout - Wear Foundation
CurvedLayout是一個版面配置可組合項,能夠將子項擺放在弧形中,並視需求旋轉。這與彎曲成環形區隔的 Row 版面配置類似。請注意,CurvedLayout的內容並不是可組合的 lambda,而是 DSL (特定領域語言)。在 CurvedLayout 的 DSL 中,所有元素都支援由CurvedModifier建立的選用修飾符參數。basicCurvedText -
CurvedLayoutDSL 中的元素,basicCurvedText可讓開發人員按照圓形的彎曲方向 (通常是圓形螢幕的邊緣) 輕鬆撰寫曲線文字。只能在CurvedLayout內建立basicCurvedText,以確保最佳使用體驗,例如能夠指定位置和使用CurvedModifiers。請注意,在大多數情況下,我們通常會使用 curvedText,因為該元件使用 Materia 主題設定。curvedComposable - 包裝一般可撰寫內容,以便與
CurvedLayout搭配使用。如果curvedComposable中包含多個元素,這些元素會彼此疊加 (例如 Box)。如要沿曲線放置多個可編寫項,請用curvedComposable來分別包裝。curvedRow 和 curvedColumn - 與「列」或「欄」類似,
curvedRow和curvedColumn可以嵌入CurvedLayout中,以根據需要佈置元素。針對curvedRow,可指定角度版面配置方向和徑向對齊。針對curvedColumn,可指定角度對齊和徑向。CurvedModifier - 所有弧形元件都接受可使用
CurvedModifier建立的修飾符參數:支援背景、大小、重量和填充字元。Wear Compose Navigation 也包含下列元件:
SwipeDismissableNavHost - 在 Compose 階層中提供一個自行導覽的位置,並透過滑動手勢進行反向導覽。內容會顯示在
SwipeToDismissBox中,並顯示目前的導航層級。滑動關閉手勢期間,系統會在背景中顯示先前的導航層級 (如有)。請參閱先前各 Alpha 版的版本資訊,進一步瞭解交付項目。
API 變更
- 新增了
CurvedModifier.padding*個函式。這些函式用來指定要在曲線元件周圍增加的額外空間。(I4dbb4) - 移除了
CompositionLocal個內部類別 (I42490) - 為
Button、CompactButton和ToggleButton圖示大小新增了固定值做為指引 (I57cab) - 在
AppCard和TitleCard中新增已啟用的參數。現在他們的 API 與androidx.compose.material資訊卡類似。參數設為 False 時,資訊卡將無法點擊。(Idc48d、b/228869805)
修正錯誤
- 現在當達到下限/上限時,Stepper 會停用「減少」和「增加」按鈕,並且將 ContentAlpha.disabled 套用至 iconColor (I4be9f)
- 使用漸層效果來繪製時,在挑選器內容的周圍加入了 1dp 的邊框間距,可避免滑動時出現文字上的誤差。(I0b7b9)
- 為
PositionIndicator新增螢幕擷取畫面測試 (I5e8bc) - 為
AppCard和TitleCard新增更多測試 (I85391、b/228869805)
1.0.0-alpha21 版本
2022 年 4 月 20 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha21、androidx.wear.compose:compose-material:1.0.0-alpha21 和 androidx.wear.compose:compose-navigation:1.0.0-alpha21。1.0.0-alpha21 版包含此連結所列的修訂項目。
新功能
- 新增曲線修飾符來指定曲線元素的背景:
CurvedModifier.background、.radialGradientBackground和.angularGradientBackground(I8f392) - 允許指定曲線文字溢位模式 (clip/ellipsis/visible)。(I8e7aa)
- 新增
CurvedModifier.weight修飾符,類似於 Compose 中的修飾符,可用於 curvedRow 和 CurvedLayout (針對寬度) 的子項以及 CurdColumn 的子項 (針對高度) (I8abbd)。 - 新增
CurvedModifier.size、.angularSize和.radialSize修飾符,用於指定曲線元素的大小 (I623c7)。
API 變更
- 對參數進行重新排序,確保在 Wear Compose API 中,背景始終在顏色之前 (I43208)
- 移除順時針和
insideOut參數,並更換為新類別中更具表現力的常數。曲線版面配置方向現在可以清楚辨識LayoutDirection,未指定時則會沿用 (If0e6a) - 我們已將
autoCenter: Boolean更換為autoCenter: AutoCentringParams,以修正ScalingLazyColumn的 API 問題。(Ia9c90) - 我們已將整個 API (Chip/ToggleChip/Dialog/Slider/Stepper/...) 中的
iconTintColor和toggleControlTintColor重新命名為iconColor和toggleControlColor,因為這個顏色已在 icon/toggleControl 版位中套用。(Ied238) - 將
PageIndicatorStyle列舉重寫入值類別 (I2dc72) - 我們已在可組合項版位中新增
RowScope/ColumnScope/BoxScope,以便向開發人員指出版面配置假設。這樣一來,開發人員就能在部分版位內容中使用額外的修飾符,且不需要提供額外的版面配置元素。此外,我們還對 AppCard/TitleCard 顏色做出了微幅更新,以使timeColor和appColor預設採用contentColor。不過,您仍然可以視需要個別覆寫這些屬性。(I26b59) - 將
SwipeToDismissBoxState.Companion物件設為不公開 (I39e84) - 修正
InlineSlider和Stepper的參數順序問題。這是一項符合 API 規範的簡單變更 (I11fec) - 由於
SwipeToDismissBoxState的 Saver 物件未經使用,我們已將其移除 (Ifb54e)。 - 我們更新了
CompactChip,使其符合最新的使用者體驗規格。邊框間距已縮減為水平 = 12.dp,垂直 = 0.dp。標籤的字型已從按鈕改為 caption1。同時具有圖示和標籤時,建議圖示大小為 20x20;針對僅含圖示的緊湊條狀標籤,建議大小則為 24x24。針對僅包含圖示的應用實例,我們還確保圖示置中對齊。(Iea2be) - 我們為
ScalingLazyListLayoutInfo新增了多個欄位,讓開發人員瞭解已套用的contentPadding和autoCenteringPadding數量。這非常有益於開發人員計算滑動/捲動數據 (I7577b) - 我們已針對對話方塊實作輸入/輸出轉換。新增
showDialog參數,且對話方塊現在可控制自身的瀏覽權限 (讓對話方塊在顯示/隱藏時,可執行開頭和結尾動畫)。請注意,當使用者透過滑動關閉功能離開對話方塊時,系統不會執行結尾動畫。此外,我們還在最近新增的SwipeToDismissBox超載中新增了狀態的預設值。(I682a0) - 為了更妥善支援 i18n 和 a11y,我們已變更
ToggleChip和SplitToggleChip,使其不再成為toggleControl版位的預設值。我們還變更了ToggleChipDefaults,現在下列方法會傳回 ImageVector,而非 Icon (請注意,由於這些方法不再傳回 @Composables,因此已改為以小寫字母開頭),以及傳回SwitchIcon()->switchIcon()、CheckboxIcon->checkboxIcon()和RadioIcon()->radioIcon(),這讓開發人員能夠,也鼓勵他們建立自己的Icon()可組合項,並搭配適當的contentDescription集 (I5bb5b)。 - 我們已在
SwipeDismissableNavHost中新增SwipeDismissableNavHostState參數。這將支援在用做導覽目的地的螢幕上使用邊緣滑動動作,因為現在可以在需要邊緣滑動的螢幕上提升SwipeToDismissBoxState並將其用來初始化SwipeDismissableNavHostState和Modifier.edgeSwipeToDismiss(I819f5、b/228336555)
修正錯誤
- 確保在需要時更新曲線版面配置。(Ie8bfa、b/229079150)
- 針對 https://issuetracker.google.com/issues/226648931 修正錯誤 (Ia0a0a、b/226648931)
- 移除不必要的實驗性註解 (I88d7e)
1.0.0-alpha20 版本
2022 年 4 月 6 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha20、androidx.wear.compose:compose-material:1.0.0-alpha20 和 androidx.wear.compose:compose-navigation:1.0.0-alpha20。1.0.0-alpha20 版包含此連結所列的修訂項目。
新功能
- 為
SwipeToDismiss新增edgeSwipeToDismiss修飾符。允許swipeToDismiss僅在可視區域左側邊緣保持啟用狀態。系統會在螢幕中心需要處理水平分頁時使用這個修飾符,例如在二維平面捲動地圖或水平滑動多個頁面。(I3fcec、b/200699800)
API 變更
- 對
CurvedModifiers進行基礎實作,這樣可以引進一些自訂曲線內容的方法 (目前尚不提供CurvedModifiers,但日後可能會提供建立自訂修飾符的功能) (I9b8df) - 為方便理解,更新了
EdgeSwipe修飾符說明文件和預設值。(I6d00d) - 將
PageIndicator版位新增至 Scaffold。透過直接將PageIndicator新增至 Scaffold,可能會確保其在圓形裝置上正確顯示。(Ia6042) - 從
InlineSlider和 Stepper 參數中移除預設圖示。這將有助於開發人員更加關注本地化和無障礙功能需求。示範和範例已顯示預設圖示的用法。(I7e6fd) - 在 TimeText 中,以「Start」和「End」取代「Trailing」和「Leading」參數名稱 (Iaac32)
- 我們新增了含
onDismissed參數的SwipeToDismissBox超載,以便支援在滑動手勢完成時觸發瀏覽事件的常見用法。(I50353、b/226565726) - 從
TimeText用法中移除ExperimentalWearMaterialApi註解 (Ide520) - 我們已將
ScalingLazyList/Column範圍和資訊介面標示為密封狀態,因為這些介面不可供外部開發人員實作,這樣我們日後便可向其中新增成員,而無需對二進位檔進行破壞性變更。(I7d99f) - 我們在挑選器中新增了
flingBehaviour屬性,並新增了PickerDefaults.flingBehaviour()方法,以便設定快速滑動行為,例如新增 RSB 支援。PickerState現在會實作ScrollableState介面。(Ib89c7)
修正錯誤
- 更新 Wear Compose 程式庫的 Android 執行階段 (ART) 基準設定檔規則。ART 可以在裝置上運用設定檔規則,事先編譯特定應用程式子集,提升應用程式效能。請注意,這對於可進行偵錯的應用程式沒有任何影響。(Iaa8ef)
- 改善說明文件 (I2c051)
1.0.0-alpha19 版本
2022 年 3 月 23 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha19、androidx.wear.compose:compose-material:1.0.0-alpha19 和 androidx.wear.compose:compose-navigation:1.0.0-alpha19。1.0.0-alpha19 版包含此連結所列的修訂項目。
API 變更
- 已將
CurvedRow重新命名為CurvedLayout,並改寫為使用 DSL 的範圍。使用這個 DSL 時,您可以使用一系列巢狀curvedRow和curvedColumn(這些是列與欄的曲線版面配置等值) 來指定更複雜的曲線版面配置。在這些版面配置元素中,可以使用三個元素:curvedComposable(用於新增任何 @Composable)、basicCurvedText(Foundation 的曲線文字) 和curvedText(Wear Material 感知型曲線文字)。(Ib776a) - 使
PositionIndicator的側邊可設定。基本 PositionIndicator 的位置現在可設定為 End (可感知版面配置方向)、OppositeRsb (考慮螢幕旋轉,將自身放置在實體 RSB 對面),或絕對的 Left 和 Right。(I2f1f3) - 針對
SwipeToDismissBox,我們已將SwipeDismissTarget.Original 重新命名為SwipeToDismissValue.Default,並將SwipeDismissTarget.Dismissal重新命名為SwipeToDismissValue.Dismissed。我們還將SwipeToDismissBoxDefaults.BackgroundKey和SwipeToDismissBoxDefaults.ContentKey分別移至SwipeToDismissKeys.Content和SwipeToDismissKeys.Background。(I47a36) - 針對具有多個 Picker,但一次只能編輯一個 Picker 的螢幕,我們已為 Picker 新增唯讀模式。挑選器為唯讀時,會顯示目前選取的選項和一個標籤 (如有提供)。(I879de)
- 已重構
SwipeToDismissBoxState,將ExperimentalWearMaterialApi的範圍限制為Modifier.swipeable和SwipeableState(現已在內部使用)。SwipeToDismissBoxState現在包含currentValue、targetValue、isAnimationRunning和snapTo,以支援常見應用實例。如果您還需要任何其他屬性,請通知我們。此外,還修正了SwipeableState在滑動偏移量處於錨定標記捨入誤差內的情況下的行為。(I58302)
修正錯誤
- 簡化並修正程式碼,偵測
ScalingLazyColumn的內容是否可以捲動 (用於判斷是否要顯示捲軸) (I7bce0) - 修正當有多個狀態且在不同狀態間切換時位置指示器出現的錯誤 (I320b5)
- 我們已按照最新的使用者體驗指南,更新 Compose for Wear OS 的預設主題字體排版/字型。需要注意的是,display1 (40.sp) 和 display2 (34.sp) 小於其先前的值,並且行高和行間距也進行了一些其他微幅更新。(Ie3077)
- 我們為
SwipeToDismissBox新增了阻力,確保它只有在執行滑動關閉動作時移動,而且完全不會在相反方向上移動。(Ifdfb9) - 我們變更了
CircularProgressIndicator函式的部分預設參數值,以使其符合 Wear Material Design 使用者體驗指南。針對 Spinner/Indeinant 版本,更新了大小 (40->24.dp)、MetricColor (primary->onBackground)、trackColor 透明度 (30%->10%) 和筆劃寬度 (4->3dp)。針對 Progress/Determinate 版本,更新了 trackColor 透明度 (30%->10%)。(I659cc) - 我們已根據最新的 Wear Material Design UX 規格,更新了
ScalingLazyColumn的預設縮放參數。從視覺上看,這會讓清單項目在更靠近清單中心的位置開始縮放,但在清單邊緣的縮放比例卻比之前低。(Ica8f3) - 對
ScalingLazyColumnDefaults.snapFlingBehavior做出部分調整,改善動畫的結束效果 (If3260)
1.0.0-alpha18 版本
2022 年 3 月 9 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha18、androidx.wear.compose:compose-material:1.0.0-alpha18 和 androidx.wear.compose:compose-navigation:1.0.0-alpha18。1.0.0-alpha18 版包含此連結所列的修訂項目。
API 變更
- PositionIndicator 有多項改善:ShowResult 已重新命名為 PositionIndicatorVisibility。改善部分效能,避免不不必要的重新編譯 (Iaed9d)
- 已更新
SplitToggleChip的建議顏色。現在,SplitToggleChip 會在勾選或取消勾選時顯示純色背景,而 ToggleControl 的顏色是顯示是否勾選該元件的主要標誌。我們新增了新的ToggleDefaults.splitToggleChipColors()以支援新的色彩配置。我們也簡化了toggleChipColors()方法,移除 splitBackgroundOverlayColor (I7e66e) - 我們已將 unadjustedSize 新增至
ScalingLazyListItemInfo,因為使用浮動運算法的縮放比例和縮放係數無法計算出原始項目大小。(I54657、b/221079441) - 新增
HorizontalPageIndicator。這代表總頁面數和所選頁面。可能為線性或曲線,視裝置形狀而定。同時也支援自訂指標形狀,可定義每個指標的視覺呈現方式 (Iac898)。 - 我們已更新
PickerState,這樣就能順利更新 numberOfOptions。這項功能支援多種用途,例如DatePicker,即當月天數會因所選月份而有所不同。PickerState 的建構函式參數已據此變更為 initialNumberOfOptions。(Iad066) - 當
PositionIndicator為捲軸且無法捲動時則隱藏。(Id0a7f) - 為了與 Scaffold 保持一致,全螢幕對話方塊元件現在會顯示
PositionIndicator和Vignette。我們現在也使用ScalingLazyColumn而非Column,這表示 Dialog 的內容現位於ScalingLazyListScope中,且通常必須使用項目 { /* content */ } 括住。Dialog 會據此支援 verticalArrangement 參數 (Idea13)。 - 我們已將
ToggleChip和SplitToggleChiptoggleIcon 屬性的名稱變更為 toggleControl,這樣能與 Material Design 保持一致,方便設計人員和開發人員瀏覽 API (If5921、b/220129803)。 - 我們已加入新的 Caption3 輸入至 Wear Material Theme Typology。Caption3 是一種小型字型,可於編寫長度非常長的內容使用 (例如:法律內容)。(I74b13、b/220128356)
修正錯誤
- 在位置中停止貼齊動畫。(Idb69d)
- PositionIndicator 中的動畫變更。(I94cb9)
- 根據 UI/使用者體驗意見回饋,我們已變更
ScalingLazyColumnAutoCentering,使其僅提供足夠的空間,確保具有索引ScalingLazyListState.initialCenterItemIndex或更高的項目可完整捲動至可視區域的中央。如此一來,開發人員一開始就能將與此項目相關的一或兩個項目置於中間位置,而這些項目無法捲動至中間位置。這表示 AutoCenter 的ScalingLazyColumn將無法捲動至initialCenterItemIndex/initialCenterItemScrollOffset的上方 (I22ee2) - 我們已針對 Date Picker 新增示範說明,並修正了
PickerState中必須等到 Picker 顯示後才會套用 initiallySelectedOption 的錯誤。(Id0d7e) - 為減少在圓形畫面中寬幅
ScalingLazyColumn項目遭到裁切的情況發生,我們已將預設水平邊框間距從 8 增加到 10 dp。(I0d609) - 確認
PositionIndicator在捲動時顯示。(Ied9a2)
1.0.0-alpha17 版本
2022 年 2 月 23 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha17、androidx.wear.compose:compose-material:1.0.0-alpha17 和 androidx.wear.compose:compose-navigation:1.0.0-alpha17。1.0.0-alpha17 版包含此連結所列的修訂項目。
新功能
- 我們已新增可搭配
ScalingLazyColumn使用的貼齊支援。設定flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)可啟用貼齊支援。(I068d3、b/217377069) - 我們已新增 Picker 的示範,說明如何以 24 小時或 12 小時制選擇時間 (Ie5552)。
API 變更
- 修正正方形裝置上的
TimeText自訂字型和樣式問題 (Iea76e) ScalingLazyListLayoutInfo現在有reverseLayout、viewportSize,以及符合LazyListLayoutInfo的螢幕方向屬性 (I4f258、b/217917020)ScalingLazyColumn現在有符合LazyList中屬性的userScrollEnabled屬性 (I164d0、b/217912513)- 根據預設,挑選器現在會在頂端和底部顯示漸層 (Iab92a)
修正錯誤
- 我們已修改
ScalingLazyColumn,使其無法完全填滿其父項的所有空間。而是從內容尺寸擷取尺寸資料。這與LazyColumn的行為一致。如果要恢復舊行為,請將Modifier.fillMaxWidth()/width()/widthIn()傳遞至ScalingLazyColumn(I51bf8) - 我們已改善
SwipeDismissableNavHost.kt的例外狀況訊息,並會在為導覽堆疊空白時觸發。(I1b1dc)
1.0.0-alpha16 版本
2022 年 2 月 9 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha16、androidx.wear.compose:compose-material:1.0.0-alpha16 和 androidx.wear.compose:compose-navigation:1.0.0-alpha16。1.0.0-alpha16 版包含此連結所列的修訂項目。
新功能
- 新增
CircularProgressIndicator。進度指標會顯示程序的長度或未指定的等待時間長度,支援在全螢幕模式下使用 TimeText 或其他元件時的間隔 (中斷)。 (Iab8da)
API 變更
- Picker 現在提供
flingBehavior參數,預設值會在使用者捲動/快速滑動時,讓 Picker 直接跳到最接近的選項 (I09000)。 - NativeSlider 和 Stepper 適用的其他整數 API (I1b5d6)
修正錯誤
ScalingLazyListState的預設 initialCenterItemIndex 已從 0 變更為 1。也就是說,除非以ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =)覆寫其狀態結構,否則系統會在初始化時將第 2 個清單項目 (index == 1) 放在可視區域中央,而第 1 個 (index == 0) 項目則會放在第 2 個項目前面。這樣就能獲得更好的預設視覺效果,因為大多數可視區域都會填入清單項目。(I0c623、b/217344252)- 我們已減少
ScalingLazyColumn預設的extraPadding,確保從 10% 到 5% 有足夠的清單項目可以繪製 (即使我們縮減了部分項目的尺寸)。這將避免編寫可能不會在可視區域中顯示的額外清單項目。如果使用非標準 scalingParams (例如:執行個體的極端縮放功能),開發人員可以使用viewportVerticalOffsetResolver調整額外的邊框間距。(I76be4) - 修正方形裝置多行 TimeText (Ibd3fb) 的問題
- 我們已修改
ScalingLazyColumn,使其無法完全填滿其父項的所有空間。而是從內容尺寸擷取尺寸資料。這與LazyColumn的行為一致。如果要恢復舊行為,請將Modifier.fillMaxSize()傳遞至ScalingLazyColumn。注意:此變更尚未完成,我們會在下一個 Alpha 版本的後續變更中解決相關問題 (I3cbfa)。
1.0.0-alpha15 版本
2022 年 1 月 26 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha15、androidx.wear.compose:compose-material:1.0.0-alpha15 和 androidx.wear.compose:compose-navigation:1.0.0-alpha15。1.0.0-alpha15 版包含此連結所列的修訂項目。
API 變更
- 我們已在
ScalingLazyColumn中加入新的屬性autoCentering。如果為 True (預設值),可確保所有項目 (包括第一個和最後一個項目) 都可以捲動,以便這些項目能夠在清單可視區域中央顯示。請注意,如果您使用自動置中功能,建議您將垂直內容邊框間距設為 0.dp。如果同時設定 autoCentering 和垂直內容邊框間距,兩者都會為第一個清單項目之前和最後一個清單項目之後提供額外空間,以使清單項目可以在較大範圍內捲動。(I2a282、b/214922490) - 我們已新增
Dialog元件,讓任何可組合項能夠觸發位於其他內容上方的全螢幕對話方塊。顯示時,對話方塊支援滑動關閉功能,並在滑動手勢會在背景顯示父項內容。對話方塊內容應為Alert或Confirmation(從較舊的元件AlertDialog和ConfirmationDialog重新命名) -Alert、Confirmation和Dialog都位於androidx.wear.compose.material.dialog套件中。「快訊」和「確認」可做為導覽目的地。此外,您也可以視需要在「快訊」和「確認」參數中加入 ColumnScope。(Ia9014) - 我們已從 WearOS 材質主題色彩中移除
onSurfaceVariant2,並以onSurfaceVariant取代程式庫中的元素。(Icd592) - 新增可透過程式輔助方式在
PickerState中選取選項的方法,但現在在建立PickerState時也可以指定最初選取的選項。(I92bdf) - 我們已開始支援自訂
ScalingLazyColumn的快速滑過行為 (I1ad2e、b/208842968)。 - 已新增
NavController.currentBackStackEntryAsState()至Wear.Compose.Navigation程式庫。(If9028、b/212739653)。 - 為具有旋轉側邊按鈕的 Wear 裝置新增了
Modifier.onRotaryScrollEvent()和Modifier.onPreRotaryScrollEvent()。(I18bf5、b/210748686)
1.0.0-alpha14 版本
2022 年 1 月 12 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha14、androidx.wear.compose:compose-material:1.0.0-alpha14 和 androidx.wear.compose:compose-navigation:1.0.0-alpha14。1.0.0-alpha14 版包含此連結所列的修訂項目。
新功能
我們在
ScalingLazyListState中新增了多種方法,讓開發人員能夠控制捲動至特定清單項目以及設定初始清單項目和偏移量的動作。在做出這項變更的過程中,我們還修改了 ScalingLazyList,使其定位到 ScaleLazyList 可視區域的中間位置,而非可視區域的起始位置。
在
ScalingLazyList中新增屬性anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter,以控制中央 (ScalingLazyListAnchorType.ItemCenter) 或Edge(ScalingLazyListAnchorType.ItemStart) 是否應符合可視區域的中心點。因此,
ScalingLazyListItemInfo.offset和ScalingLazyListItemInfo.adjustedOffset已經改變,現在也會反映出商品在清單項目和清單中anchorType的偏移情形。舉例來說,假設ScalingLazyColumn的anchorType是ItemCenter,且某個清單項目的中心位於可視區域的中心線上,則偏移值為0。新的方法包括
scrollTo、animatedScrollTo、centerItemIndex和centerItemOffset。(I61b61)我們在
SwipeDismissableNavHost中新增返回按鈕處理常式,因此按下返回按鈕可前往導覽階層中的上一個層級。(I5b086、b/210205624)
1.0.0-alpha13 版本
2021 年 12 月 15 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha13、androidx.wear.compose:compose-material:1.0.0-alpha13 和 androidx.wear.compose:compose-navigation:1.0.0-alpha13。1.0.0-alpha13 版包含此連結所列的修訂項目。
API 變更
- 我們已製作
RangeIcons的內部內部資料 (InlineSlider和Stepper內部參照)。(I927ec)
修正錯誤
修正問題:
SwipeDismissableNavHost會在達到CREATED生命週期狀態之前,將目的地新增至 Compose 階層,導致IllegalStateException。這項修正需要先更新navigation-compose至2.4.0-beta02以上的依附元件 (I40a2b、b/207328687)。新增 Drawables 列舉類別,可從 Wear Compose 程式庫取得可繪製資源,這樣便不再需要使用反射機制。修正
minifyEnabled=true或shrinkResources=true中資料庫可繪項目遭到移除的問題。(Ib2a98)已在 Wear Compose 中針對
Stepper新增測試 (I2d03a)已在 Wear Compose Navigation 中針對
SwipeDismissableNavHost新增範例。(I85f06)
1.0.0-alpha12 版本
2021 年 12 月 1 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha12、androidx.wear.compose:compose-material:1.0.0-alpha12 和 androidx.wear.compose:compose-navigation:1.0.0-alpha12。1.0.0-alpha12 版包含此連結所列的修訂項目。
新功能
我們已新增 Stepper 元件,可讓使用者從多個值範圍內選擇。Stepper 是一種全螢幕控制項,其頂端和底部有增加按鈕和減少按鈕,中間具有版位,預計會插入方塊或文字。如果需要,可以自訂按鈕圖示。(I625fe)
我們已加入 2 個新的可組合項來顯示對話方塊:一個是 AlertDialog,用於等待使用者回應,並顯示標題、圖示、訊息,以及 a) 兩個提供簡單二選一選項的按鈕;或 b) 方便使用者更靈活選擇的垂直堆疊方塊或切換方塊;另一個是 ConfirmationDialog,用於顯示有逾時的確認訊息。這個簡單的對話方塊會提供一個標題和一個 (動畫) 圖示的位置。(Ic2cf8)
API 變更
- 為建議的對話方塊時間長度值新增單位 (毫秒)。(I09b48)
1.0.0-alpha11 版本
2021 年 11 月 17 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha11、androidx.wear.compose:compose-material:1.0.0-alpha11 和 androidx.wear.compose:compose-navigation:1.0.0-alpha11。1.0.0-alpha11 版包含此連結所列的修訂項目。
新功能
- 我們已新增挑選器元件,讓使用者可從捲動清單中選取項目。根據預設,可選取的項目清單會在這兩個方向「無限」重複,從側邊看就是一個旋轉的圓柱體。日後將在更新版本中新增兩種功能:在滑動/快速滑動後對齊某個值;新增函式至 PickerState,以設定/捲動至目前值。 (I6461b)
API 變更
- 新增 ScaleLazyItemScope 和部分新修飾符 fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight,允許根據父項容器的大小調整清單項目的大小。項目可設為填滿全部或部分父項大小。這會公開 LazyRow/Column 中的現有功能 (I4612f)
- 新增對 ScalingLazyColumn 的支援功能,讓項目可擁有鍵。另外也新增便利的方法,可從 Array 和 List 新增項目 (Ic1f89)。
修正錯誤
- TimeText 的其他範例 (I8cb64)
1.0.0-alpha10 版本
2021 年 11 月 3 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha10、androidx.wear.compose:compose-material:1.0.0-alpha10 和 androidx.wear.compose:compose-navigation:1.0.0-alpha10。1.0.0-alpha10 版包含此連結所列的修訂項目。
新功能
新增 Wear Compose 的 InlineSlider。InlineSlider 可讓使用者從多種不同的值中選擇。選取範圍會以長條形式顯示範圍的最小值和最大值,使用者可以從該範圍選取單一值。(If0148)
瞭解 WearOS Codelab 的新版 Compose!
API 變更
- 現在 Macrobenchmark 的
minSdkVersion為23(If2655)。
修正錯誤
- 在 SideEffect 中更新 SwipeDismissableNavHost 的轉換處理 (I04994、b/202863359)
- 更新 SWipeDismissableNavHost 中的轉換處理 (I1cbe0、b/202863359)
1.0.0-alpha09 版本
2021 年 10 月 27 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha09、androidx.wear.compose:compose-material:1.0.0-alpha09 和 androidx.wear.compose:compose-navigation:1.0.0-alpha09。1.0.0-alpha09 版包含此連結所列的修訂項目。
新功能
- 我們已在 Wear OS 上推出 Compose 的開發人員預覽版。請參閱我們的網誌文章,瞭解主要可組合項並取得其他資源的連結,即可開始使用這些資源。
API 變更
- 新增支援功能,讓開發人員可以自訂 Wear Material Design Color 主題中的所有顏色 (I4759b、b/199754668)。
修正錯誤
- 新增可保留狀態的 SwipeToDismissBox 範例 (Ibaffe)
- 從 CurvedText、TimeText 和 SwipeToDismissBox 的 KDoc 新增 developer.android.com 指南的連結。(I399d4)
- 如果沒有現行目的地,SwipeDismissableNavHost 現在會擲回例外狀況 (代表未使用 wear.compose.navigation.composable 公用函式建構 NavGraph) (I91403)
- 在 TimeText 中針對時間來源加入額外的說明文件和範例 (I4f6f0)
1.0.0-alpha08 版本
2021 年 10 月 13 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha08、androidx.wear.compose:compose-material:1.0.0-alpha08 和 androidx.wear.compose:compose-navigation:1.0.0-alpha08。1.0.0-alpha08 版包含此連結所列的修訂項目。
API 變更
- 我們已將 AppCard 和 TitleCard
body的屬性重新命名為content,並移至屬性清單尾端,以結尾的 lambda 形式提供這些屬性。此外,為保持與新運算單元名稱一致,bodyColor也重新命名為contentColor(I57e78)。
修正錯誤
- 針對按鈕、卡片、方塊、主題、位置指標和縮放延遲欄位元件,從 KDoc 加入 developer.android.com 指南的連結。(I22428)
- 修正 WearOS SwipeToDismissBox 有時無法處理滑動手勢的問題。(I9387e)
- 新增 Button、CompactButton、Chip、CompactChip、AppCard、TitleCard、ToggleButton、ToggleChip、SplitToggleChip 新增範例 (Iddc15)
- 針對 Card、Chip、ToggleChip、TimeText 和 ScalingLazyColumn 新增 Microbenchmark 效能測試。(If2fe9)
1.0.0-alpha07 版本
2021 年 9 月 29 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha07、androidx.wear.compose:compose-material:1.0.0-alpha07 和 androidx.wear.compose:compose-navigation:1.0.0-alpha07。1.0.0-alpha07 版包含此連結所列的修訂項目。
新功能
- 在質感中加入 CurvedText 元件,這個元件可讓開發人員輕鬆沿圓圈弧線 (通常位於圓形螢幕邊緣) 寫入曲線文字。 (I19593)
API 變更
- 新增 TimeText 的測試 (Idfead)
- 將 ArcPAddingValues 轉換為介面。(Iecd4c)
- 新增動畫至 SlideToDismissBox (I9ad1b)
- 新增 hasBackground 參數至 hasToCloseBox API,這樣如果沒有可顯示的背景內容時,就可以停用滑動手勢。(I313d8)
rememberNavController()現在接受可選用的Navigator執行個體組合;系統會將這個執行個體加到傳回的NavController,對選用的導覽器 (例如來自 Accompanist Navigation Material 的導覽器) 提供更完善的支援。(I4619e)- 從導覽常見功能參照 NamedNavArgument,並從 Wear.compose.browsing 移除副本。(I43af6)
修正錯誤
- 修正在小型裝置上進行 CurvedRow 測試時發生的不穩定問題。(If7941)
- 修正在內容更新時可能在 CurvedRow 上閃爍的問題,並確保曲線列能重新評估 (Ie4e06)
- 為與 UX Spec 變更保持一致,已更新 ChipDefaults.gradientBackgroundChipColors()。梯度現在會以 MaterialTheme.colors.primary 開頭,且 Alpha 度為 32.5%,結束位置為 MaterialTheme.colors.surface、Alpha @ 0%,背景為 MaterialTheme.colors.surface @ 75% Alpha。(Id1548)
- 我們已根據最新的 Wear Material Design UX Spec 更新選取狀態的 ToggleChips 顏色。選取的 ToggleChips 現在有從 MaterialTheme.color.surface @ 0% alpha 左上方到 MaterialTheme.color.primary @ 32% alpha 的底部,位於 MaterialTheme.color.surface @ 75% alpha 的右下角。因此 ToggleChip 的勾選和取消勾選之間有更明確的差異。(Idd40b)
1.0.0-alpha06 版本
2021 年 9 月 15 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha06、androidx.wear.compose:compose-material:1.0.0-alpha06 和 androidx.wear.compose:compose-navigation:1.0.0-alpha06。1.0.0-alpha06 版包含此連結所列的修訂項目。
新功能
- 我們已為 Scaffold 新增頂層應用程式可組合項,以便提供一種結構,用於處理 PositionIndicators (例如捲動或音量) 位置,亦即在螢幕頂端顯示時間和應用程式狀態的區域。另外,我們也支援使用 Vignette 對可捲動內容的螢幕頂端和底部邊緣進行模糊處理。Scaffold 的主要區域是指應用程式內容放置的位置。(I5e0bf)
- 新增 Wear Compose 的 TimeText 實作 (I5654c)
Wear Compose 導覽程式庫
我們已新增第一版的 Wear Compose Navigation 程式庫,整合了 Wear Compose 和 Androidx Navigation 程式庫。這可讓您輕鬆地將 @Composable 函式做為應用程式目的地。
初始版本提供以下功能:
SwipeDismissableNavHost可組合函式可代管導覽圖表,並可透過滑動手勢向後瀏覽NavGraphBuilder.composable擴充功能可協助建立導覽圖表rememberSwipeDismissableNavController()可允許提升狀態
在以下使用範例中,我們建立了兩個畫面並在兩者之間進行導覽:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }Wear Compose Navigation 已封裝為獨立的程式庫,因此實作專屬手動導覽功能的簡易 WearCompose 應用程式無需依附 Androidx Navigation 程式庫。
API 變更
- 透過針對背景和內容設定金鑰辨識,更新
SwipeDismissableNavHost以支援rememberSaveable(I746fd) - 我們已新增 PositionIndicator 轉接程式,可以處理 LazyListState (I21b88)
- 更新 TalkBackToDismissBox 以支援 RememberSave (Ie728b)
- 在 ScalingLazyColumn 新增 reverseLayout 支援。這可允許倒轉捲動和版面配置的方向 (I9e2fc)
- 淘汰
performGesture和GestureScope,並替換為performTouchInput和TouchInjectionScope(Ia5f3f、b/190493367)。 - 我們已將 VignetteValue 重新命名為 VignettePosition,並將 ScalingLazyColumn 重新命名為 VignettePosition.TopAndBottom。(I57ad7)
- 由於我們日後可能決定新增 ScalingLazyRow 實作,因此已將 ScalingLazyColumnState 重新命名為 ScalingLazyListState,將 ScalingLazyColumnItemInfo 重新命名為 ScalingLazyListItemInfo,將 ScalingLazyColumnLayoutInfo 重新命名為 ScalingLazyListLayoutInfo,以及將 ScalingLazyColumnScope 重新命名為 ScalingLazyListScope。(I22734)
修正錯誤
- 更新 CompactChip 說明文件,說明沒有提供圖示和標籤時會如何。(I4ba88)
- 我們已調整 Wear 資訊卡元件。(I6b3d0)
- 標題和內文之間的 TitleCard 間距已從 8.dp 減少為 2.dp。
- TitleCard 標頭字型已從內文變更為 title3。
- 資訊卡背景梯度已變更,使背景變暗。
1.0.0-alpha05 版本
2021 年 9 月 1 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha05 和 androidx.wear.compose:compose-material:1.0.0-alpha05。1.0.0-alpha05 版包含此連結所列的修訂項目。
API 變更
- 將 ArcPAddingValues 標示為 @Stable (I57deb)
- ScalingLazyColumnState 現可實作 ScrollableState 介面,讓開發人員能夠以程式輔助的方式捲動元件。(I47dbc)
修正錯誤
- 我們已減少 Chip 和 ToggleChip 中圖示和文字之間的間距,使其與 UX Spec 的更新一致。(I83802)
1.0.0-alpha04 版本
2021 年 8 月 18 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha04 和 androidx.wear.compose:compose-material:1.0.0-alpha04。1.0.0-alpha04 版包含此連結所列的修訂項目。
新功能
- 新增 SwipeToDismissBox 和可滑動修飾符,可用來支援由左至右的滑動關閉手勢。雖然與導覽元件無直接關聯,但這仍應於離開一個畫面並前往另一個畫面時使用。在滑動關閉手勢的示範中加入整合測試 (I7bbaa)。
- 我們已將 ScalingLazyColumnItemInfo 和 ScalingLazyColumnLayoutInfo 介面新增至 ScaleLazyColumnState 類別,讓開發人員可在套用縮放功能後取得 ScaleLazyColumn 中項目的實際位置和大小。我們已修正了在 ScaleLazyColumn 套用「top」內容邊框間距時計算縮放比例的錯誤 (I27c07)。
API 變更
- 新增 CurvedTextStyle 類別,用來指定曲線文字樣式選項。這與 TextStyle 相似,但現在只支援顏色、字型大小和背景。日後還會加入更多樣式選項 (I96ac3)。
- 我們已將 ScalingLazyColumnItemInfo 和 ScalingLazyColumnLayoutInfo 介面新增至 ScaleLazyColumnState 類別,讓開發人員可在套用縮放功能後取得 ScaleLazyColumn 中項目的實際位置和大小。我們已修正了在 ScaleLazyColumn 套用「top」內容邊框間距時計算縮放比例的錯誤 (I27c07)。
- 在
SwipeDismissTarget列舉中新增@ExperimentalWearMaterialApi(屬於SwipeToDismissBoxAPI 的一部分)。(I48b5e)
修正錯誤
- 新增 SwipeToDismissBox 的測試材料 (I9febc)
1.0.0-alpha03 版本
2021 年 8 月 4 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha03 和 androidx.wear.compose:compose-material:1.0.0-alpha03。1.0.0-alpha03 版包含此連結所列的修訂項目。
API 變更
- 新增 CurvedText 元件,可讓開發人員輕鬆撰寫文字,並依照曲線形狀 (通常在圓形螢幕邊緣) 排列文字 (Id1267)
- 我們已將
CardDefaults.imageBackgroundPainter()重新命名為CardDefaults.imageWithScrimBackgroundPainter(),明確指出含有背景圖片的區塊圖片。(I53206) - 新增 ScaleLazyColumn 元件,為 Wear Material 提供清單元件,讓該清單內容可以縮小,並且隨著向元件邊緣延展逐漸變為透明,提供魚眼畫面的效果 (I7070c)。
修正錯誤
- 為因應 UX Spec 更新,我們已變更 AppCard 中 appName 內容的預設顏色。appName 的預設顏色是
MaterialTheme.colors.onSurfaceVariant。此外,針對標題版位新增缺少的參數文件說明。(Ic4ad1)
1.0.0-alpha02 版本
2021 年 7 月 21 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha02 和 androidx.wear.compose:compose-material:1.0.0-alpha02。1.0.0-alpha02 版包含此連結所列的修訂項目。
新功能
- 加入新類別 CurvedRow,以弧形方式排列可組合函式 (I29941)
- 新增可在應用程式中使用的新資訊卡類別 (TitleCard),並支援使用圖片做為 Card 的背景來突顯內容 (I53b0f)
API 變更
- 加入支 CurvedRow 的放射狀對齊的支援 (類似列中的垂直對齊方式) (Id9de5)
- 加入新類別 CurvedRow,以弧形方式呈現可組合函式 (I29941)
- 新增可在應用程式中使用的新資訊卡類別 (TitleCard),並支援使用圖片做為 Card 的背景來突顯內容 (I53b0f)
- 在 ToggleChipDefaults 中新增切換圖示 (核取方塊、切換和圓形按鈕),讓開發人員能夠輕鬆設定 ToggleChip 和 SplitToggleChips (I7b639)
- 更新方塊開始和結束內容的邊框間距,因此無論方塊是否顯示圖示,邊框間距一律為 14.dp (先前顯示圖示時,為 12.dp;不顯示時,則為 14.dp) (I34c86)
修正錯誤
- 新增 CurvedRow 的測試 (I93cdb)
- 將 Wear Compose 依附元件套用至 Compose 1.0.0-rc01。(Ie6bc9)
- 變更資訊卡和方塊中的背景圖片繪製功能,讓圖片經裁剪後不再縮放,以維持圖片比例。(I29b41)
- 針對 Button 和 ToggleButton 加入更多多示範和整合測試。(5e27ed2)
- 加入更多方塊測試,可用於處理 imageImageChips 的內容顏色 (Ia9183)
1.0.0-alpha01 版本
2021 年 7 月 1 日
發布 androidx.wear.compose:compose-foundation:1.0.0-alpha01 和 androidx.wear.compose:compose-material:1.0.0-alpha01。1.0.0-alpha01 版包含此連結所列的修訂項目。
新功能
Wear Compose 是 Kotline、支援 Wear Material 設計的 Compose 程式庫,也是 Wear OS 穿戴式裝置的 Material Design 擴充功能。此第一版 Alpha 版本包含以下內容的初期功能實作:
- 材料主題 - 設定這個程式庫中各項元件的顏色、字體和形狀等設定。
- Chip、CompactChip - 方塊為體育場形狀,且提供不同變化,用於容納圖示、標籤和次要標籤內容。
- - ToggleChip、SplitToggleChip - 一種特殊的方塊類型,內含雙狀態切換圖示 (例如圓形按鈕或核取方塊) 的版位。此外,SplitToggleChip 中有兩個可輕觸的區域,一個可點擊,另一個可切換。
- Button、ComactButton - 按鈕的形狀為圓形,內含一個用於顯示圖示或極少文字 (最多 3 個字元) 的內容版位。
- ToggleButton - 用於開啟或關閉特定動作的按鈕,內含一個用於顯示圖示或極少文字 (最多 3 個字元) 的內容版位。
- 資訊卡、AppCard - 矩形圓角設計,可為應用程式圖示、時間、標題和內文等內容提供運算單元。
日後推出的新版本將進一步支援小工具組設計,增加 Wear Material Design 挑選器、滑桿、清單、頁面指標、對話方塊、捲動式 RSB 指示燈、閃光燈等等。
此外,我們還會為其他穿戴式裝置專屬功能 (例如曲線版面配置和文字) 和鷹架提供支援,讓開發人員能夠輕鬆建構穿戴式應用程式/疊加。
Wear Compose 的材質設計原則與 Compose Material 相同,雖然是以穿戴式裝置為目標。為穿戴式裝置建構應用程式時,應使用 Wear Compose Material 程式庫取代 Compose Material 程式庫。
開發人員應將這兩個「Material」程式庫視為互斥,不得在同一個應用程式中混用。如果開發人員發現其依附元件中內含 Compose Material 程式庫,這表示:a) Wear Compose Material 程式庫中缺少元件 (在這種情況下,請告訴我們您需要的元件);或者 b) 目前使用的元件不是我們建議用於穿戴式裝置的元件。