Wear Compose Material 3
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2025 年 6 月 4 日 | - | - | 1.5.0-beta03 | - |
宣告依附元件
如要為 Wear 新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱「Google 的 Maven 存放區」一節。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.5.0-beta03" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material3:1.5.0-beta03" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.5.0-beta03" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-beta03") // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material // or androidx.compose.material:material. // androidx.wear.compose:compose-material3 is designed as a replacement, // not an addition, to both of these other libraries. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material3, please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.5.0-beta03") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material3:1.5.0-beta03") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.5.0-beta03") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-beta03") // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material // or androidx.compose.material:material. // androidx.wear.compose:compose-material3 is designed as a replacement, // not an addition, to both of these other libraries. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material3, please raise a bug to let us know. }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
Wear Compose Material3 1.5 版
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
函式現在預設會使用這個 Saver。(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 版包含這些修訂項目。
修正錯誤
- 更新了 foundation、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
則是可用的選取按鈕 (切換和選取按鈕的「Split」變化版本也會提供)。 ButtonGroup
:在按鈕列中實作一組表情符號,當使用者觸碰時,這些表情符號會變形。AlertDialog
變化版本支援「確定」/「取消」按鈕或EdgeButton
。ConfirmationDialog
可用於顯示有逾時期限的訊息,並支援成功、失敗和在手機上開啟的特殊動畫變化版本。- Picker - 支援
TimePicker
和DatePicker
變化版本,以及 Picker 和PickerGroup
元件,可用於建構您自己的 Picker 畫面。 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 基礎元件為基礎,並採用 Wear 專屬增強功能,以改善效能並遵循 Wear OS 指南。
API 變更
- 更新了階層式焦點 API - 將
Modifier.hierarchicalFocus
重新命名為Modifier.hierarchicalFocusGroup
,並移除回呼參數;移除Modifier.hierarchicalFocusRequester
的FocusRequester
參數超載;建立新的CompositionLocal
LocalScreenIsActive
,以便元件通知及檢查哪個畫面是有效畫面。(I5ff7c)。 - 淘汰 Wear Compose Foundation 中的
SwipeToReveal
,改用 Wear Compose Material 和 Wear Compose Material3 中的SwipeToReveal
API。如要繼續使用 API,請將 Wear FoundationSwipeToReveal
匯入項目替換為 Wear Compose Material/ Wear Compose Material3 匯入項目。(Ia147d)。 - Wear Compose Material3
SwipeToReveal
對 Foundation 的依附元件已移至 material3 套件,例如RevealValue
、RevealDirection
、RevealActionType
、RevealState
、rememberRevealState
。開發人員應將這些類別和函式的匯入作業從androidx.wear.compose.foundation
變更為androidx.wear.compose.material3
。(I640e6)。 - 更新 Wear Compose Material3
SwipeToReveal
API,如下所示:將primaryAction
、onFullSwipe
、secondaryAction
、undoPrimaryAction
、undoSecondaryAction
和hasPartiallyRevealedState
參數新增至SwipeToReveal
可組合函式;移除自RevealState
自訂positionalThreshold
和animationSpec
的功能;從RevealState
移除lastActionType
、revealThreshold
和寬度;變更RevealState
建構函式,以便接受RevealDirection
而非錨點;移除createRevealAnchors
、錨點和bidirectionalAnchors
函式;將SwipeToRevealScope
函式primaryAction
、secondaryAction
、undoPrimaryAction
和undoSecondaryAction
重新命名為PrimaryActionButton
、SecondaryActionButton
、UndoActionButton
,並將其設為可組合函式;將RevealActionType
標示為內部。(I885d0)。 - 進一步更新
SwipeToReveal
API,如下所示:將onFullSwipe
重新命名為onSwipePrimaryAction
;將SwipeToRevealNonAnchoredSample
重新命名為hasPartiallyRevealedState
參數;移除actionButtonHeight
,因為預設值是 Button 的預設高度,且較高的高度可使用修飾符設定;從SwipeToRevealDefaults
移除SmallActionButtonHeight
;將RevealValue
和RevealDirection
建構函式中的值參數設為私有。(I465ce)。
修正錯誤
- 修正
ScreenScaffold
的EdgeButton
處理方式,以便在TransformingLazyColumn
項目移除後,系統會為EdgeButton
顯示動畫。(I6d366)。 - 將 Wear Compose 對 Compose 程式庫的依附元件更新至 1.8.0 版。(I2ef3f)。
- 更新了未定義
CircularProgressIndicator
的動作,以便不再暫時回歸。(Ieddb1)。 - 修正
SwipeDismissableNavHost
錯誤:在向後滑動後,焦點未正確切換,導致旋轉輸入失敗 (這是針對使用預測返回的 API 36 以上版本)。(Ieddb1)。 - 修訂了階層式焦點 API 的說明文件 (Idf2ff)。
- 更新了 Button 和 Card 的說明文件,說明
containerPainter
和disabledContainerPainter
如何覆寫containerColor
和disabledContainerColor
(I4a453)。 - 還原先前版本中對
TimeText
的變更,該變更會將BroadcastReceiver
移至 worker 執行緒,但會導致在導覽期間管理自身執行緒的應用程式發生問題。(I34d02)。 - 更新 Picker 範例,移除不必要的記住呼叫,改為在 Picker 中使用
rememberUpdatedState
來記住最新的contentDescription
lambda 函式。(Icb5b1)。 - 已更新
TimePicker
和DatePicker
中的文字樣式,以便變更字型時不會導致文字截斷。(I26194)。 ListHeader
和ListSubHeader
的文字對齊方式現在預設為置中對齊和開始對齊。(I78339)。- 更新 Foundation 和 Material Swipe to Reveal 範例和示範,以宣告自訂無障礙功能動作 (自訂動作必須以內容的語意新增,而非在
SwipeToReveal
可組合項本身新增)。(Ie92a3)。 - 根據
EdgeButton
內容的大小,更新了預設的MaxLines
設定 - 目前的值為 1 (超小)、2 (小和中) 和 3 (大)。(Ie35f6)。 - 簡化
LocalReduceMotion
,讓觀察器只註冊一次,以提升效能。(Ib1979)。 - 盡量減少
ScrollIndicator
中的重繪次數,以提升效能。(Ia7a67)。 - 修正
TransformingLazyColumn
中的錯誤,當 EdgeButton 達到完整高度時,清單中顯示在頂端的項目無法正確縮放。(I30580)。
Wear Compose Material3 1.0 版
1.0.0-alpha37 版
2025 年 4 月 23 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha37
。1.0.0-alpha37 版包含這些修訂項目。
API 變更
- 已從公用 API 介面中移除
scrollTransform
。如需相同功能,請使用transformedHeight
和graphicsLayer
修飾符的組合。(Ie181d) - 分別以
Button
和Card/TitleCard
超載取代ImageButton
和ImageCard
可組合函式。已將imageButtonColors
重新命名為buttonWithContainerPainterColors
,並將imageCardColors
重新命名為cardWithContainerPainterColors
。新增公開的ButtonDefaults.scrimBrush
和CardDefaults.scrimBrush
。已將按鈕imageBackgroundGradientStartColor
和imageBackgroundGradientEndColor
重新命名為scrimGradientStartColor
和scrimGradientEndColor
。已將CardDefaults.ImageContentPadding
重新命名為CardDefaults.CardWithContainerPainterContentPadding
(I7b8b6) Picker
和PickerGroup
現在會將contentDescription
設為 lambda,以避免不必要的重組。(I002dd)
修正錯誤
- 修正問題:如果寬度不等於高度,不確定的
CircularProgressIndicator
會在動畫期間搖擺。(I76bfe)。 - 修正邊緣按鈕版面配置在無效大小的問題。系統現在會在高度為 NaN 時,避免更新邊緣按鈕的版面配置。(I32b93)。
- 在
OpenOnPhoneDialog
中增加了最大掃描角度,以便在使用最大字型大小時,不會截斷預設的「Check your phone」文字。(I90af9)
1.0.0-alpha36 版
2025 年 4 月 9 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha36
。1.0.0-alpha36 版包含這些修訂項目。
API 變更
ButtonDefaults.imageBackgroundButtonColors
已由ImageButton
、ButtonDefaults.imageButtonColors
、ButtonDefaults.containerPainter
和ButtonDefaults.disabledContainerPainter
取代。並對卡片進行類似變更。已從ButtonColors
和CardColors
中移除繪圖程式。(I8c6a1)。- 更新預留位置,簡化 API。我們現在提供兩個 Modifier,
Modifier.placeholderShimmer
可在元件層級套用閃爍效果,Modifier.placeholder
可在未載入的內容上套用遮罩 (Iaee7a)
修正錯誤
- 將超出捲動整合至
ScrollIndicator
。(Icfb7f)。 - 解決啟動 Material3 對話方塊時,空白背景和遺漏的對話方塊問題。(Ice597)
- 修正
FadingExpandingLabel
中文字串跨越多行的問題。(I04eb7) - 更新按鈕上主要和次要標籤之間的邊框間距。(I99b7b)。
ArcLarge
已從20sp
降至18sp
,ArcLarge
和ArcSmall
的字母間距也已更新。ConfirmationDialog
/OpenOnPhoneDialog
現在會使用預設的ArcLarge
,而不會覆寫為18sp
。(Id39a8)。
依附元件更新
- 此程式庫現在指定 Kotlin 2.0 語言層級,且需要 KGP 2.0.0 以上版本。(Idb6b5)。
1.0.0-alpha35 版本
2025 年 3 月 26 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha35
。1.0.0-alpha35 版包含這些修訂項目。
API 變更
- 提供圖示時,
AlertDialog
的頂部邊距現在會預設為縮小,以便充分運用可用的螢幕大小。(Ief06c)。 - 「
PagerScaffoldDefaults.FadeOutAnimation
」已重新命名為「PagerScaffoldDefaults.FadeOutAnimationSpec
」。AnimatedPage
上的 page 參數已重新命名為pageIndex
。(I701f2)。 - 更新
TransformingLazyColumn
的SurfaceTransformation
命名方式 -applyTransformation
分為applyContainerTransformation
和applyContentTransformation
,並將createBackgroundPainter
重新命名為createContainerPainter
。進一步更新TransformationSpec
和ResponsiveTransformationSpec
的名稱。(I1c534)。 AppScaffold backgroundColor
已重新命名為containerColor
。(I4e63f)。
修正錯誤
- 修正
FadingExpandingLabel
中文字無法正確展開的問題。(I0e773)。 ArcLarge
已從 20sp 縮小至 18sp,ArcLarge
和ArcSmall
的字母間距也已更新。ConfirmationDialog/OpenOnPhoneDialog
現在會使用預設的ArcLarge
,而不會覆寫為 18sp。(Id39a8)。- 已更新
DatePicker
和TimePicker
的標題動畫,讓淡出和淡入動畫以彈簧效果播放。(I68963)。 - 避免在
AnimatedPage
可組合函式中讀取currentPageOffsetFraction
,以便對PagerScaffold
進行最佳化。(I433ef) - 所有類型比例尺都已更新為預設的比例數字,因為這項功能是使用頻率最高的用途,而預設為表格式會導致某些數字組合之間的間距過大。
TimePicker
和DatePicker
會繼續將FontFeatureSetting=tnum
套用至表格式數字。(I88929)。 - 修正
TimePicker
和DatePicker
的初始 RSB 輸入焦點。(I1c773)。 - 已將
OpenOnPhoneDialog
的預設文字更新為「檢查手機」。(I00a3f) - 將
ArcLarge
和ArcMedium
的權重從 600 更新為 599,以解決權重 600 會被視為粗體的問題 (I2a51d) - 更新內容和動作按鈕之間的
SwipeToReveal
邊框間距,以及動作按鈕圖示和文字之間的邊框間距。(Ic46cb)。
1.0.0-alpha34 版
2025 年 3 月 12 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha34
。1.0.0-alpha34 版包含這些修訂項目。
API 變更
PagerScaffold
不再發出Pager
元件,而是必須透過content
可組合函式提供。AnimatedPage
和snapWithSpringFlingBehaviour
現已公開,可與 Wear FoundationPager
搭配使用,以便實現先前的 M3PagerScaffold
行為。(請參閱更新後的範例)。(Ia4724)- 更新
PagerState
,移除 Compose FoundationPagerState
做為基礎類別,並新增currentPage
、currentPageOffsetFraction
和pageCount
屬性。更新GestureInclusion
介面,將方法重新命名為ignoreGestureStart
。(I4ae07)。 LevelIndicator
掃描角度參數現在已標示為FloatRange(0, 360)
(I7e636)- 我們新增了
CurvedModifier.clearAndSetSemantics
,提供一種關閉曲線語義的做法。CurvedText
會繼續將內容說明預設為文字,但timeTextCurvedText
和timeTextSeparator
目前不會宣讀內容。(I4b568) - 在
AppScaffold
中新增背景和預設內容顏色參數。(I56652)。 HorizontalPager
對滑動手勢的預設處理方式已重新命名為PagerDefaults.gestureInclusion
。預設行為現在只會忽略從第一頁左側邊緣開始的滑動手勢,且只會在 Talkback 關閉時才會執行。在其他情況下,預設行為是不會讓分頁器忽略滑動手勢,因此滑動手勢無法用於滑動關閉處理程序。(Iee486)- 我們已在按鈕、資訊卡和清單標題元件中新增
SurfaceTransformation
參數,讓這些元件在使用TransformingLazyColumn
等會根據項目位置變更項目外觀的容器時,能套用不同的背景和內容轉換。(Iabe3f) - 我們已將 Wear Compose Material3 API 中的「public const val」屬性更新為「public val」,以免值內嵌。(Ib0f32)
- 新增對
SwipeToReveal
邊緣滑動區的支援。FoundationSwipeToReveal
的預設行為現在是禁止從邊緣開始的手勢。當SwipeDirection
設為單向時,Material3SwipeToReveal’
的預設行為現在是禁止從邊緣開始的手勢操作。(I32ef0)。 - 新增
FadingExpandingLabel
可組合函式,可透過逐行動畫淡入文字。(Ic60fa)。 TransformingLazyColumn
現在預設會使用空白contentPadding
,而非將第一和最後一個項目置中。(I77ab7)。- 已從 Wear Compose Material3 程式庫中移除
SwipeToReveal
的rememberRevealState
。(I8c0e0)
修正錯誤
- Wear Compose 程式庫已更新至 Kotlin 2.0 編譯器。(I2de79)。
- Material3 已移除對非圓形
ScrollIndicator
和PageIndicator
的支援。方形螢幕支援功能也不再是 Wear OS 的必要條件,詳情請參閱入門指南。(I9a852) ConfirmationDialogDefaults
和OpenOnPhoneDialogDefaults
中使用的CurvedTextStyle
已更新為使用ArcLarge
字體排版,大小為18sp
,字母間距為1.8sp
。(Ic9ced)。Card
、ListHeader
、RadioButton
、CheckboxButton
、SwitchButton
預設不再限制內容高度。如有需要,請使用Modifier.height(IntrinsicSize.Min)
還原先前的行為。(I80bb8)。- 我們已更新預設的
TimeText
和ScrollIndicator
顏色,加入更多灰階,因為在畫面上與標題等其他內容競爭時,直接使用OnBackground
(白色) 會帶來過多的視覺重量。(I8b36f)。 - 我們已將暫存結構體元件中
TimeText
和ScrollIndicator
動畫的逾時時間縮短至 2 秒。(I52021) - 我們已更新對話方塊的動作,讓對話方塊的背景縮放比例與滑動關閉動作同步。(I925a9)。
- 使用
edgeSwipeToDismiss
修飾符新增 M3SwipeToReveal
的示範。(I02b07)。 - 我們已在 TalkBack 下方的
DatePicker
和TimePicker
中新增標題,提醒使用者捲動畫面來設定日期/時間。(Id738d) AnimatedText
現在會遵循減少動態設定。(Ib6578)- 針對使用
AppScaffold
顯示對話方塊內容的最佳化功能進行改善,讓多個對話方塊可彼此重疊顯示 (I1209c)
1.0.0-alpha33 版
2025 年 2 月 26 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha33
。1.0.0-alpha33 版包含這些修訂版本。
API 變更
- 我們已從
SwipeToRevealScope
的primaryAction
和secondaryAction
中移除標籤參數。開發人員應直接將自訂動作語意新增至SwipeToReveal
元件的內容。(Ia67f3) - 我們已從
IconToggleButtonDefaults
和TextToggleButtonDefaults
的大小、文字樣式和顏色函式中移除「Button」前置字串 (I5471d) - 我們已移除實驗性的
LocalMinimumInteractiveComponentEnforcement
(I4ad8a) - 我們已將
PickerGroupScope
DSL 替換為可組合函式。因此,我們從PickerGroupScope
中移除了pickerGroupItem
方法,改為加入@Composable PickerGroupItem
,以便將 Picker 新增至PickerGroup
。我們也將PickerGroup
「content」參數的類型更新為@Composable PickerGroupScope.() -> Unit
。(Ic6aec) - 我們已為小數值新增
LevelIndicator
超載,並在包含範圍參數的超載 (適合與 Stepper 元件搭配使用) 中新增 Stepper 前置字串。(If4234) - 我們已將
TransformingLazyColumn
的TransformationSpec
新增至 API,可在項目透過 TLC 捲動時,定義項目的確切轉換效果。(I21856) - 我們已更新
IconButtonShapes
、IconToggleButtonShapes
、TextButtonShapes
和TextToggleButtonShapes
,使其與 compose/material3 類別保持一致 (I5a081) - 我們已在
ScalingLazyColumn
、TransformingLazyColumn
和ScreenScaffold
中新增overscrollEffect
參數。(I0cee8)。 - 我們已將
rememberRevealState
中的swipeDirection
參數重新命名為revealDirection
。(I7472f)。 - Wear Pager 現在有自己的
PagerScope
,而非使用 ComposePagerScope
。(I9195b)。 - 我們已移除
LinearProgressIndicatorContent
可組合函式,請直接使用LinearProgressIndicator
,這樣系統就會預設為對值變更加上動畫效果。(I2c4ad)。 - 我們已移除
CircularProgressIndicatorStatic
可組合函式,並新增具有相同功能的公開DrawScope
函式drawCircularProgressIndicator
。請直接使用CircularProgressIndicator
,以便預設為動畫顯示變更,但如果需要自訂動畫,請使用drawCircularProgressIndicator
建構自己的可組合項。(Ie762f) - 我們已重新排序
DrawScope.drawCircularProgressIndicator
中的參數,以便將targetProgress
參數往上移動。(I8ab92)。 OpenOnPhoneDialog
API 已更新,確保內容更清楚易懂,並與其他對話方塊保持一致。show
參數已重新命名為visible
,且呼叫端現在會提供curvedText
,而非預設值。(Idec2d)。- 我們已將
openOnPhoneCurvedText
重新命名為openOnPhoneDialogCurvedText
(I65bdd) - 我們已新增
ScrollIndicatorColors
,為ScrollIndicator
提供自訂顏色。(I9eb8c)。 - 允許設定用於繪製
TimeText
後方背景的顏色。(I9f5d9)。 - 已將
ArcLarge
、ArcMedium
和ArcSmall
的字體排版更新為CurvedTextStyle
(Iffc41) - 我們已移除
ScreenScaffoldDefaults.contentPaddingWithEdgeButton
。(Ia923e)。 - 我們已將
errorDim
新增至ColorScheme
,用於高優先順序錯誤或緊急動作,例如安全警報、對話方塊重疊失敗或停止按鈕。(I70998)。
修正錯誤
- 我們已將
wear.compose.material3
綁定至androidx.core.core
的 1.15.0 版 (I132e9) - 我們使用
AppScaffold
將對話方塊疊加在其他畫面內容上,藉此改善對話方塊的效能 (I1b9a4) - 減少
EdgeButton
的內部垂直邊框間距。(I1a5bb)。 - 我們已在 Slider 按鈕中新增 Button 語意。(I80cc6)。
1.0.0-alpha32 版
2025 年 1 月 29 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha32
。1.0.0-alpha32 版包含這些修訂版本。
API 變更
- 在
CurvedTextStyle
中,我們將字母間距分為順時針字母間距和逆時針字母間距。這是必要的,因為順時針方向的字母會從基準線向外展開,而逆時針方向的字母會向內展開,因此需要較大的字母間距。(I4b848) - 我們已更新
IconButtonShapes
、IconToggleButtonShapes
、TextButtonShapes
和TextToggleButtonShapes
,以改善 Material3 程式庫的一致性。這項變更也引入了形狀快取功能,以減少配置數量。(I049fc) - 我們已從
IconToggleButton
和TextToggleButton
的variantAnimatedShape
方法中移除pressedShapeCornerSizeFraction
參數 (I58a65) - 我們正在改善與非圓形螢幕不相容的弧形文字算繪 (包括
TimeText
)。非圓形螢幕支援功能也不再是 Wear OS 的必要條件,詳情請參閱入門指南。(I1cc1c) - 我們已更新
ButtonGroup
的ButtonGroupScope
,將以 DSL 為基礎的ButtonGroupItem
替換為Modifier.weight
、Modifier.minWidth
和Modifier.enlargeOnPress
。(I16c3c) - 在
ButtonGroup
API 中,我們已更新新的以修飾符為基礎的ButtonGroupScope
:enlargeOnPress
現在稱為animateWidth
,且會採用InteractionSource
,而非MutableInteractionSource
,因為不需要變異。我們也新增了公開常數ButtonGroupDefaults.DefaultMinWidth
,這是ButtonGroup
中按鈕的預設寬度下限。(Ie27ec)。 - 我們已更新
ListHeaderDefaults.contentColor
,讓其開頭為小寫字母,因為這是可組合函式屬性 (I125a5) - 我們已在
SliderDefaults.DecreaseIcon
和SliderDefaults.IncreaseIcon
中新增內容說明參數,並提供適當的預設值 (I2e1a7) - 我們已將
Picker
和PickerGroup
中的spacing
參數重新命名為verticalSpacing
(Ib75cc) - 我們已移除
ConfirmationDialogDefaults.successText
和failureText
,因為ConfirmationDialog
的呼叫端會提供包含更多背景資訊的字串。並將confirmationCurvedText
重新命名為confirmationDialogCurvedText
。最後,將對話方塊show
參數重新命名為 visible,以便與對話方塊的其他近期更新保持一致。(I10074)。 IconButton
已將disabledImageOpacity
重新命名為DisabledImageOpacity
。(I5f94a)。
修正錯誤
- 我們已修正
EdgeButton
動畫中的錯誤,以便在每個影格中使用正確的大小 (Id3b58) - 修正
animateContentSize
無法與Button
搭配運作的問題。(Ib18a0)。 - 我們已將「Title Large」類型比例調整為字型大小
18dp
(Ic9d52) - 我們已更新
AlertDialog
間距和圖示大小 (Iac28c) - 我們已修正大螢幕中斷點的不一致性 (225dp 以上螢幕皆為大螢幕) (I36474)
- 修正按鈕位置的小錯誤 (I952c2)
1.0.0-alpha31 版
2025 年 1 月 15 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha31
。1.0.0-alpha31 版包含這些修訂項目。
API 變更
- 我們已將所有 Wear Compose 程式庫更新為「明確 API」模式。(Iebf9f)。
- 我們已更新
ScreenScaffold
和EdgeButton
API,讓您更輕鬆地在包含EdgeButton
的畫面上指定內容邊距。在新 API 中,EdgeButton
的size
只會傳遞至EdgeButton
,而ScreenScaffold
會使用edgeButtonSpacing
參數,用於EdgeButton
和清單內容之間的間距。(I424fd)。 - 在
DatePicker
中,我們已將參數minDate
重新命名為maxDate
,並將minValidDate
重新命名為maxValidDate
。在DatePickerColors
中,我們已將參數selectedPickerContentColor
重新命名為activePickerContentColor
,並將unselectedPickerContentColor
重新命名為inactivePickerContentColor
(Iba17b) - 我們已將
ArcProgressIndicator
預設值更新為strokeWidth=6dp
,並建議螢幕高度為diameter = 81.24%
(I6f248) - 我們已更新 Confirmation API,以反映其做為對話方塊的用途。可組合項現已改名為
ConfirmationDialog
,並對顏色和預設類別的命名進行相關更新。我們也將show
參數重新命名為visible
,以便與其他 Compose 動畫 API 相容。此外,我們也提供ConfirmationDialogContent
、SuccessConfirmationDialogContent
、FailureConfirmationDialogContent
,供開發人員在需要自訂開頭/結尾對話方塊動畫時使用。(Iaeb33)。 - 我們已將
CircularProgressIndicatorContent
更新為CircularProgressIndicatorStatic
(CircularProgressIndicator
的非動畫變化版本),現在可以使用該版本建構含有自訂動畫的CircularProgressIndicator
。(I1346f)。 - 我們已修正
ArcProgressIndicator
的參數順序,將修飾符參數置於最前 (I4656a) - 改善
SwipeToReveal
API,以便接收動作標籤的文字方塊參數 (次要動作除外),並從取消動作中移除標籤參數 (I5b3db)
修正錯誤
- 我們已修正在
Button
、Card
、IconButton
、TextButton
中觸發LongPress
觸覺回饋的次數超過一次的錯誤 (Ia8b0f) AlertDialog
的使用者體驗變更:在大型螢幕上,確認和關閉按鈕現在變小了。確認和關閉按鈕下方的間距也增加了。(I4f066)。- 我們已變更
SwipeToReveal
元件動作按鈕標籤的動畫規格。(Ib87fb)。 - 變更
SwipeToReveal
,讓文字顯示時同時展開容器。(I44cf8)。 - 改善
SwipeToReveal
,在滑動動作超過主要動作提交門檻時,執行觸覺回饋。(I23efe) - 我們已更新
SwipeToReveal
,預設會在文字溢出時顯示省略號,以便執行主要和取消動作。(I71f5a)。 - 我們已修正導致
ButtonGroup
動畫出現抖動的問題。(I63f8f) - 我們已在
AnimatedText
中新增文字語意 (I6063c) - 對話方塊現在會在從組合中移除時重設背景縮放比例 (如果沒有這項修正,啟動畫面可能會處於縮小狀態) (Id24ac)
- 我們已在 Stepper 元件中的按鈕中加入形狀轉換動畫 (Id6ed3)
1.0.0-alpha30 版
2024 年 12 月 11 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha30
。1.0.0-alpha30 版包含這些修訂項目。
API 變更
TransformingLazyColumn
的scrollTransform
修飾符已重構,因此觸發了 API 變更。(I0c6dc)- 我們已更新
IconToggleButtonShapes
和TextToggleButtonShapes
,以便使用兩個不同的形狀參數uncheckedPressed
和checkedPressed
(I85dbd) - 使用
minDate
或maxDate
時,現在可以在DatePicker
中看到無效的月份/日期選項,以及新的invalidPickerContentColor
。(If4541)。 - 我們已更新
Stepper
API,提供increaseIcon
和decreaseIcon
時段,您可以照常透過 Icon 可組合項建立這些時段的內容。(Id35da) - 我們已更新
dynamicColorScheme
,移除選用的defaultColorScheme
參數,並現在傳回可為空值的ColorScheme
。也就是說,如果未提供動態色彩配置,呼叫端必須明確處理備用方案。(I6d62e) - 我們已更新
ButtonDefaults
中的圖示大小,以便與CompactButton
搭配使用。如果CompactButton
只包含圖示,應使用ButtonDefaults.SmallIconSize = 24.dp
;如果CompactButton
同時包含圖示和文字,則應使用ButtonDefaults.ExtraSmallIconSize = 20.dp
。建議CompactButton
將內容換行 (而非填滿最大寬度),且已更新範例以顯示這項功能。(I0582c) - 我們已為 4 種不同的
EdgeButtonSizes
新增EdgeButtonDefaults
,並提供建議的圖示大小。此外,我們也更新了EdgeButton
版面配置,讓底部邊框間距比頂部邊框間距稍大,進而改善圖示和文字內容的外觀。(Id772a)。 - 我們已為
LinearProgressIndicator
新增動畫,並公開LinearProgressIndicatorContent
,提供不含動畫的視覺內容。(Idee99)。 - 我們新增了新的
CircularProgressIndicatorContent
可組合項,可在沒有動畫的情況下顯示CircularProgressIndicator
的視覺內容。(Ie33d4)。 TransformingLazyColumn
新增了組合式LocalTransformingLazyColumnItemScope
,Card
、Button
和ListHeader
現可在放入TransformingLazyColumn
時自動轉換。呼叫端可以使用新的TransformExclusion
包裝函式停用自動變形功能。(I1652f)。- 我們已將
ButtonDefaults.shape
的類型更新為RoundedCornerShape
(Iccdf2)
修正錯誤
- 我們已修正錯誤,以便在
TimeText
的背景上保留現有的 alpha (I1eb60) - 在我們的字體排版中,預設會將
TextMotion
設為Animated
,以免在縮放作業期間,字母圖形會因為與像素邊界對齊而產生抖動。(I626fa)。 - 我們已更新
ScrollIndicator
的外觀,增加寬度和間距大小,以便提高可見度。(Ied7cb)。 - 我們已修正
Modifier.scrollTransform
在新增/移除/移動項目時發生的錯誤。(I6830f)。 - 我們修正了圓形按鈕動畫在短時間內輕觸時發生的問題 (先前系統無法一律遵循最短動畫時間)。(I757a7)。
- 我們已將
LevelIndicator
的掃描角度更新為 20% (即 72 度)。(Idde5c) - 修正
ScalingLazyColumn
與AutoCenteringParams
搭配使用時的ScrollIndicator
位置。(I387dd) - 我們已更新
ListHeader
和ListSubHeader
的顏色和字體排版。以及CheckboxButton
和SwitchButton
切換控制項的顏色。(I39817) - 我們已修正
ContentPadding
在LazyColumn
和ScalingLazyColumn
中的ScrollIndicator
位置。(I2bc51)。 - 我們使用新的
CircularProgressIndicatorContent
修正了OpenOnPhoneDialog
進度動畫中的錯誤。(I3e443) - 我們已更新
HorizontalPagerScaffold
和VerticalPagerScaffold
,在啟用減少動畫功能時停用動畫 (Iaaf68) - 當進度達到 100% 時,我們會為環形進度指標實作獨立的動畫。(I47135)
- 修正在 Pager 元件中,
EdgeButton
可能會以不正確形狀繪製的錯誤 (I91db9)
1.0.0-alpha29 版
2024 年 11 月 13 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha29
。1.0.0-alpha29 版包含這些修訂項目。
API 變更
- 我們已更新
TimeText
,提供顯示時間的預設內容。(Id23b3) - 我們已移除不再需要的
orientation
參數,簡化PagerState
的ScrollInfoProvider
。新行為是讓TimeText
在水平和垂直分頁時都保持在原位。(I71767)。 - 當 Vibrator API 指出支援觸覺回饋時,
LocalHapticFeedback
現在會提供預設的HapticFeedback
實作項目。以下項目已新增至HapticFeedbackType
:Confirm
、ContextClick
、GestureEnd
、GestureThresholdActivate
、Reject
、SegmentFrequentTick
、SegmentTick
、ToggleOn
、ToggleOff
、VirtualKey
。在提供長按處理常式後,Wear Compose 可長按的元件 (例如Button
、IconButton
、TextButton
和Card
) 現在會執行LONG_PRESS
觸覺回饋。(I5083d)。
修正錯誤
- 我們已更新確認動作。(I04bff)
- 我們已將 Compose 程式庫的最低 API 依附元件更新至 1.7.4。(I88b46)。
- 已為
OpenOnPhone
對話方塊新增動作。(I1e10a)。 - 我們已修正
LevelIndicator
中的錯誤,因此現在可以正確顯示等級為零的內容。(Ie95a4)。 - 我們已更新
HorizontalPageIndicator
和VerticalPageIndicator
動畫。(I5c8f3) - 我們已在未定
ArcProgressIndicator
中加入縮小至點的動畫。(I9fd51)。
1.0.0-alpha28 版
2024 年 10 月 30 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha28
。1.0.0-alpha28 版包含這些修訂項目。
API 變更
- 我們已在未確定的圓形進度指標 (I2efc1) 上新增弧形變化版本
- 我們已公開組成
AlertDialog
API 的AlertDialogContent
和Dialog
可組合項,以便您視需要新增自訂項目 (例如自訂AlertDialog
動畫,同時保留建議的內容版面配置)。此外,我們已在AlertDialogDefaults
的EdgeButton
、ConfirmButton
和DismissButton
成員中新增Modifier
和Color
參數。(I4eb71) - 我們已更新
Placeholder
API,如下所示:將PlaceholderState.startPlaceholderAnimation
重新命名為PlaceholderState.animatePlaceholder
、PlaceholderState.isShowContent
重新命名為PlaceholderState.isHidden
,以及將PlaceholderDefaults.shape
重新命名為PlaceholderDefaults.Shape
;將painterWithPlaceholderOverlayBackgroundBrush
中的painter
參數重新命名為originalPainter
;將PlaceholderState.placeholderProgression
的顯示設定從公開變更為內部,並重新命名為placeholderShimmerProgression
;在PlaceholderDefaults
中新增預留位置動畫時間常數。(Ie5a59)。 - 我們已更新
EdgeButton
API,如下所示:將ScreenScaffold
的參數從bottomButton
重新命名為edgeButton
;將EdgeButtonSize
設為值類別。(Ieef15) - 我們已將
copy()
的瀏覽權限變更為公開,適用於 Wear 裝置的 Material3 Colors 類別 (I0287f)
修正錯誤
- 新增點選
IconToggleButton
和TextToggleButton
時的動畫最短時間 (Ieb333) - 新增
IconButton
和TextButton
形狀動畫的最低時間長度 (Iebcee) - 修正
DatePicker
的重複選項狀態。(I3587c)。 - 新增快訊和確認對話方塊的動畫效果。(I173b1)。
1.0.0-alpha27 版
2024 年 10 月 16 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha27
。1.0.0-alpha27 版包含這些修訂版本。
API 變更
- 我們已更新
ScreenScaffold
和ScrollIndicator
,以配合將 Wear Compose FoundationLazyColumn
重新命名為TransformingLazyColumn
。(I0608b)。 EdgeButton
的preferredHeight
參數已重新命名為buttonSize
,其值只能從新推出的EdgeButtonSize
值類別中的 4 個常數中選擇。(Icdd70)。- 我們已將
ListSubheader
的名稱變更為ListSubHeader
,並為ListHeader
和ListSubHeader
新增可公開存取的預設值。(I96730)。 - 我們為 Wear 新增了
HorizontalPagerScaffold
和VerticalPagerScaffold
元件,可提供新的動畫,並協調時間文字和頁面指標元件。(Iff7d0) - 我們已為
HorizontalPagerScaffold
和VerticalPagerScaffold
新增旋轉輸入支援功能,讓使用者可透過旋轉輸入裝置瀏覽尋呼機。(I9770d)。 - 我們已對
MotionScheme
API 進行變更,以簡化使用方式並提升一致性。移除內嵌的 remember 函式,並將內建的 Motion Schemes 移至專屬的 MotionScheme 隨附物件。將standardMotionScheme
和expressiveMotionScheme
重新命名為標準和表情符號。(I5fd45)。 - 我們新增了對以系統顏色為基礎的動態色彩配置支援。(I073e9)
- 我們已將 Stepper 更新為最新的使用者體驗規格。(I622bb)。
修正錯誤
- 我們已更新資訊卡元件的字體排版和邊距。(I3ae48)
- 我們已根據 UX 規格,將
AlertDialog
中「確認」/「關閉」按鈕與其餘內容之間的邊框間距從 8dp 變更為 12dp (Ie55f0) - 我們已更新滑桿元件的顏色不透明度。(Idb383)。
1.0.0-alpha26 版
2024 年 10 月 2 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha26
。1.0.0-alpha26 版包含這些修訂項目。
API 變更
- 我們已更新
HorizontalPageIndicator
的 API 和外觀,並新增VerticalPageIndicator
供VerticalPager
使用 (Ic9309) AlertDialog
現在支援在按鈕堆疊變化版本中省略預設底部按鈕的功能,適用於不需要 EdgeButton 的自訂版面配置。(I34fa9)- 我們已為 Wear Material 3 新增
SwipeToReveal
元件 (Ic38b2) - 我們在
SwipeToReveal
中新增了對雙向滑動操作的支援,以便在目前畫面不支援滑動關閉的少數情況下使用。預設情況下,只有從右至左滑動時才會使用滑動顯示功能,強烈建議您遵循預設行為,避免與滑動關閉功能發生衝突。(Ifac04) - 我們已將
EdgeButton
的buttonHeight
參數重新命名為preferredHeight
。(I4fab3)。 - Kotlin 版本已更新至 1.9 (I1a14c)
- 我們已將
OpenOnPhoneDialogDefaults.Icon
重新命名為OpenOnPhoneDialogDefaults.OpenOnPhoneIcon
,以免與Icon
發生衝突(I0f391) - 我們已在
LazyColumn
中新增對ScrollIndicator
的支援。(Ia546a) - 我們已更新
TextToggleButton
和IconToggleButton
的預設值。(I7aaa9)。 - 我們已簡化
Picker
和PickerGroup
API。(Id0653)。 - 我們已新增
CardDefaults.Shape
和CardDefaults.Height
,這兩個符號 (即符記) 原本是使用該程式庫的開發人員的私密資訊。(I1594a、b/347649765)。 - 我們已將二進位元分割圓形進度指標的進度參數重新命名為
segmentValue
。(Ib72d9)。 - 我們已更新滑桿的顏色和版面配置。(Ic3eec)。
修正錯誤
- 我們已更新
openOnPhone
圖示動畫 (I66f85) - 我們現在在
Slider
、TimePicker
和DatePicker
中使用 Google 符號圖示。(I46c7c)。 - 我們已更新
Confirmation
和OpenOnPhoneDialog
中的邊框間距。(Iaa82e)。
1.0.0-alpha25 版
2024 年 9 月 18 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha25
。1.0.0-alpha25 版包含這些修訂項目。
API 變更
- 我們已新增未確定的圓形進度指標。(I427a7)。
- 我們已為
CircularProgressIndicator
和SegmentedCircularProgressIndicator
新增進度溢位 (進度超過 100%) 支援功能。進度超過 1.0 時,系統會以新的overflowTrack
顏色表示。(Iaaa3d)。 - 圓形
IconToggleButton
和TextToggleButton
現在支援新的形狀動畫變化版本,其中不同的形狀代表已勾選、未勾選和按下狀態。我們仍會支援先前為剛按下狀態所提供的動畫形狀變化。(I29f03)。 - 由於需要在
ScreenScaffold
中明確指定EdgeButton
高度,因此我們已移除EdgeButton
與Column
的支援功能。(Ie353d) - 我們已透過
ScreenScaffold
新增了對 Wear ComposeLazyColumn
的支援 (並為LazyColumnState
新增了ScrollInfoProvider
的實作)。Ib8d29 - 我們已將
LocalTextMaxLines
、LocalTextAlign
、LocalTextOverflow
合併為單一LocalTextConfiguration
本機組合,以便日後提供更具擴充性的解決方案。(I5edbc)。 - 我們已將 arc-large 新增為額外的型別比例,用於畫面頂端或底部的簡短標題文字字串,例如確認疊加畫面。(I60e3e)
- 我們已在 Button 中加入預設值,提供建議的大型和超大型圖示大小和內容邊距。(I84675)。
修正錯誤
- 我們已更新
IconButton
和TextButton
的顏色。(I48324) - 我們已將基本按鈕超載變更為垂直居中對齊,以便與其他超載保持一致。如要還原先前的行為,請使用
RowScope
中的Modifier.align
。(I66e57)。
1.0.0-alpha24 版本
2024 年 9 月 4 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha24
。1.0.0-alpha24 版包含這些修訂項目。
API 變更
- 我們已在 Material3 主題中新增 Motion 配置。程式庫中的元件會使用這項功能,套用動畫規格,例如彈簧,以便呈現生動的動作。(I54ff3)
- 我們已在 Material3 程式庫中新增
AppScaffold
和ScreenScaffold
元件,其中包含協調TimeText
和ScrollIndicator
的層級和轉場功能。AppScaffold
提供頂層的架構元件,位於所有畫面的頂端。因此,如果將TimeText
新增至AppScaffold
,AppScaffold
便可在滑動切換畫面時保持原位。螢幕本身可以覆寫或隱藏時間文字。ScreenScaffold
會為ScrollIndicator
提供一個位置,並在捲動時自動為捲動指標加上動畫效果,包括在閒置一段時間後隱藏捲動指標的逾時時間。(I047d6) - 我們新增了採用全新 Material 3 設計的
ScrollIndicator
。它會根據初始清單內容,設定固定的縮圖大小,以免在延遲載入內容時,導致大小出現差異。(Ic228d)。 - 我們已變更
ScrollAway
API,讓ScreenStage
成為值類別而非列舉類別,以便在日後視需要新增其他階段。(I48c93) - 我們新增了
EdgeButton
,這是 Wear 專屬的獨特按鈕,其形狀會沿著螢幕底部的曲線 (I16369) - 我們已在
ScreenScaffold
中新增一個用於底部按鈕 (例如EdgeButton
) 的新版位,這個版位會根據捲動內容顯示及調整大小 (I032eb) - 我們已新增
Modifier.scrollTransform
和Modifier.targetMorphingHeight
,為LazyColumn
中的項目加入 Material3 動態效果。(Ie229a) - 我們已將
SegmentedCircularProgressIndicator
新增為CircularProgressIndicator
的變化版本。區隔變化版本會在所有區隔中顯示單一進度值,或是顯示每個區隔的開啟/關閉狀態。(I6e059) - 我們已新增
LinearProgressIndicator
做為現有CircularProgressIndicator
的替代方案。(I89182)。 - 我們已新增
AlertDialog
,提供版面配置,向使用者顯示重要提示。變化版本包括一對確認/關閉按鈕,或是一組選項下方的單一底部按鈕 (通常是 EdgeButton)。兩種變化版本都設有圖示、標題和其他文字的版位,可提供更多詳細資訊。(Ieb873) - 我們新增了
OpenOnPhoneDialog
,應用於表示會在使用者的手機上繼續執行的動作。OpenOnPhoneDialog
會在指定的逾時後關閉。(I978fd)。 - 我們已新增
Confirmation
,這是一個對話方塊元件,其中有圖示和曲線或線性文字的版位。系統會提供特定的成功/失敗訊息變化版本。確認訊息會在逾時後自動關閉。(Ib43e8)。 - 我們已在
TimeText
中加入背景,以避免底層內容與TimeText
重疊,並遮蓋時間。(Ia11fd) - 我們新增了
LevelIndicator
,可顯示音量等設定的值,並可與現有的Stepper
元件搭配使用,建構音量畫面。LevelIndicator
與ScrollIndicator
類似,但會顯示在螢幕的另一側,且預設的筆劃寬度較寬,且指標顏色不同。(I8a4ac)。 - 我們已新增
TimePicker
,其中包含 24 小時制 (含或不含秒數) 或 12 小時制 (含上午/下午選項) 的版面配置。(Ia5124) - 我們新增了
DatePicker
,其中包含資料欄排序的設定 (即日-月-年、月-日-年或年-月-日) 和選用的最小/最大日期。(Ibf13b) - 我們已在
TimeText
的text
函式中新增權重參數。如果 TimeText 由多個文字元素組成,您可以透過這個屬性控制空格的分配方式。(I36700)。 - 我們新增了
RadioButton
和SplitRadioButton
,這些元件結合了 (分割)SelectableButton
和子項單選控制項 (If7ae8),簡化了先前的 API - 我們新增了
CheckboxButton
和SplitCheckboxButton
,這些元件結合了 (Split)ToggleButton
和子項核取方塊控制項 (Ia8f70),簡化了先前的 API - 我們新增了
SwitchButton
和SplitSwitchButton
,這些元件結合了(Split)ToggleButton
和子項 Switch 控制項,簡化了先前的 API (I0d349) - 我們已更新
AnimatedText
說明文件,說明超出範圍的行為。(Iff30a)。 - 我們新增了
ButtonGroup
,可結合 2 或 3 個按鈕,讓按下按鈕時產生協調的動畫。(Ie27db)。 - 我們已為
IconButton
和TextButton
新增可選的形狀動畫,(Iffca5) - 我們已在
Button
、IconButton
、TextButton
、CompactButton
和EdgeButton
中新增額外的顏色變化版本FilledVariant
(I65fc3) - 我們已在
ImageWithScrimPainter
中新增forcedSize
參數,因此按鈕圖片背景現在會預設維持元件大小。設定forcedSize = null
會改為採用Painter.instrinsicSize
。(Ic57af) - 我們已在按鈕中加入長按功能 (Ib613d)
IconButton
和TextButton
也已新增長按支援功能。(I38891)。- 資訊卡現已支援長按操作。(I305d5)。
- 我們已將
LocalTextMaxLines
、LocalTextAlign
、LocalTextOverflow
新增為CompositionLocals
,並將其用於Text
的參數預設值。組合本機現在可供CheckboxButton
、SwitchButton
、RadioButton
等元件使用,以便實作使用者體驗指南,但開發人員可視需要覆寫參數。(Iab841)。 - 我們新增了
Placeholder
,可在資料載入前,遮蓋按鈕和卡片等元件的內容。(I1a532)。 - 我們已新增
IconToggleButtonColors
和TextToggleButtonColors
取代現已移除的ToggleButtonColors
。(Ie0bf1)
修正錯誤
- 我們已更新
Button
、FilledTonalButton
、OutlinedButton
、ChildButton
、CompactButton
,以便使用新的CompositionLocals
LocalTextMaxLines
、LocalTextAlign
、LocalTextOverflow
實作使用者體驗指南 - 開發人員可視需要直接在文字上覆寫這些參數 (Ie51f7) - 我們已將
LevelIndicator
的預設描邊寬度變更為6dp
,以便與描邊寬度為4dp
的ScrollIndicator
區分開來。(If6f63) - 我們已修正
TimeText
中的問題,以便支援更大的掃描角度。(Ie489f) - 修正
EdgeButton
重組期間發生的問題。(I4cdca)。 - 修正分割切換按鈕的版面配置,當自訂內容邊框提供時,(Ia33d3)。
- 將小進度值向上捨入,至少為進度指標的線寬。(I3bd84)
1.0.0-alpha23 版本
2024 年 5 月 14 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha23
。1.0.0-alpha23 版包含這些修訂版本。
API 變更
- 我們已更新
ToggleButton
和RadioButton
API,以便設定停用的顏色。(If13a7) - 我們已為 Material3 新增
CircularProgressIndicator
。(Ib3bd7)。
修正錯誤
- 我們已修正以下錯誤:當選取的按鈕已選取時,系統會宣告輕觸兩下即可切換的情況。(I7ed88)
1.0.0-alpha22 版本
2024 年 5 月 1 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha22
。1.0.0-alpha22 版包含這些修訂版本。
API 變更
修正錯誤
- 請更新所有整合範例,以便使用新的
rotaryScrollable
修飾符。(I25090)。
1.0.0-alpha21 版本
2024 年 4 月 17 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha21
。1.0.0-alpha21 版包含這些修訂項目。
- 由於先前版本發生技術問題,導致來源 JAR 檔案遺失,因此觸發了這次發布。此版本沒有新的提交內容。
1.0.0-alpha20 版本
2024 年 4 月 3 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha20
。1.0.0-alpha20 版包含這些修訂項目。
修正錯誤
- 我們已調整漣漪按下和聚焦狀態的 Alpha 值,以便顯示對比效果。(I59f0a)
- 我們已在
Button
、ToggleButton
和RadioButton
中,根據最新的字體排版樣式和行高變更,在主要和次要標籤之間增加間距。(I2c0ba)。
1.0.0-alpha19 版本
2024 年 3 月 6 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha19
。1.0.0-alpha19 版包含這些修訂項目。
API 變更
- 我們已將
TimeText
新增至 Wear Compose Material3 程式庫。這個元件會在螢幕頂端顯示目前時間 (和其他狀態)。新的簡潔 Material3 API 可避免線性和曲線內容重複。(I4d7c3) - 我們已將
RadioButton
的參數名稱從onSelected
更新為onSelect
。(I1a971)。 - 將
RadioButton
和SplitRadioButton
切割成符記,並重構現有方法,藉由新增顏色快取例項,並將RadioButtonColors
和SplitRadioButtonColors
的方法設為內部,減少CompositionLocal
查詢的次數。(I02b33)。
1.0.0-alpha18 版本
2024 年 2 月 21 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha18
。1.0.0-alpha18 版包含此連結所列的修訂項目。
API 變更
- 我們已重構
CardColors
、ToggleButtonColors
和SplitToggleButtonColors
的預設模式,方法是內部建立快取例項,並減少CompositionLocal
的使用量。(If3fec)
1.0.0-alpha17 版本
2024 年 2 月 7 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha17
。1.0.0-alpha17 版包含此連結所列的修訂項目。
API 變更
- 我們已更新 Button API,讓其預設使用
buttonColors
,並移除重複的filledButtonColors
。(I4fe3b) - 我們已為
ButtonColors
、IconButtonColors
和TextButtonColors
重構預設模式,方法是內部建立快取執行個體,並減少CompositionLocal
的使用量。(I5f51c)。 - 我們已移除元件專屬色彩類別中的
rememberUpdatedState
額外負擔,並將色彩類別中的存取子方法標示為內部。(If6571)
修正錯誤
- 我們已更新
Modifier.minimumInteractiveComponentSize
,以便使用Modifier.node
。(Iba6b7)。
1.0.0-alpha16 版本
2024 年 1 月 24 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha16
。查看 1.0.0-alpha16 版的修訂項。
新功能
- 我們新增了
CompactButton
,可使用與按鈕相同的填滿、填滿色調和外框顏色。(I05df0)
API 變更
- 我們已將
RadioButton
/SplitRadioButton
新增為選取控制項的容器,例如 Radio 控制項。這與現有的ToggleButton
不同,因為RadioButton
可供選取 (並在選取群組中運作),而ToggleButton
則可切換 (且是獨立的)。(I61275)。 - 我們將從 Wear Compose Material3 程式庫中移除
LocalContentAlpha
,以便與 Compose Material3 程式庫保持一致。(I49a0a) - 我們已更新 Wear 材質和 Wear Material 3 元件,讓這些元件在 API 中公開
MutableInteractionSource
,現在會公開預設為空值的 nullableMutableInteractionSource
。這裡沒有語意變更:傳遞空值表示您不想提升MutableInteractionSource
,且系統會視需要在元件中建立MutableInteractionSource
。變更為空值後,部分元件就不會分配MutableInteractionSource
,其他元件也只會在需要時才延遲建立例項,進而提升這些元件的效能。如果您未使用傳遞至這些元件的MutableInteractionSource
,建議改為傳遞空值。建議您在自己的元件中進行類似變更。(Ib90fc、b/298048146)。 - 在
wear:compose-material
和wear:compose-material3
程式庫中新增 ripple API,取代已淘汰的rememberRipple
。並新增暫時性的CompositionLocal
LocalUseFallbackRippleImplementation
,將 Material 元件還原為使用已淘汰的rememberRipple/RippleTheme
API。這個選項會在下一個穩定版本中移除,且僅適用於您提供自訂RippleTheme
的情況,僅做為暫時性的遷移輔助工具。如要瞭解遷移資訊和這項異動背後的更多背景資訊,請造訪 developer.android.com。(af92b21) - 我們對
HorizontalPageIndicator
API 及其說明文件進行了微幅改善。(I60efc)。 - 我們已更新
ColorScheme
使其不可變更,因此個別顏色的更新效率會降低,但常見的顏色用法效率會提高。這項異動背後的原因是,大多數應用程式不會將更新個別顏色做為主要用途。這仍有可能,但重組次數會比先前多,因此我們會大幅減少所有 Material 程式碼的狀態訂閱數,並影響更多標準用途的初始化和執行階段成本。(Ibc2d6)。 - 已更新
ToggleButton
和SplitToggleButton
API,允許自訂停用顏色。此外,Material Design 符記現在可用於顏色和字體排版值。(If087c) - 更新按鈕圖片背景顏色,以便使用 Material Design 符記。(Iba215)
- 我們已移除點擊處理程序,將
Checkbox
、Switch
和RadioButton
元件變更為僅顯示元件。這些元件應在處理點擊的(Split)ToggleButton
中使用,因此現在會更清楚地標示為僅供顯示 (且不適用於 Wear 的獨立使用)。(I2322e)。
修正錯誤
- 我們已在 Wear Compose Material 3 中新增了符記,用於表示時間長度和緩和效果的動畫值。(I437cd)。
- 我們已修正
ToggleButton
、SplitToggleButton
、Checkbox
、Switch
和RadioButton
中的錯誤,以免重複播放無障礙功能的聲明 (先前語意角色重複)。(Ica281)。 - 我們已移除
CompactButton
的 MaterialCore 層,以提升效能。(7902858)。
1.0.0-alpha15 版本
2023 年 11 月 15 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha15
。查看 1.0.0-alpha15 版的修訂項。
API 變更
- 我們已將基礎層級
SwipeToDismissBox
重新命名為BasicSwipeToDismissBox
。這樣一來,您就能更清楚區分基礎層級元件和 Material3 層級SwipeToDismissBox
。後者會從MaterialTheme
提取顏色,用於遮罩,並將剩餘的實作委派給BasicSwipeToDismissBox
。(Ibecfc)
修正錯誤
- 我們已移除 Material3 Button 的 material-core 圖層,以提升效能。(I55555)。
1.0.0-alpha14 版本
2023 年 10 月 18 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha14
。1.0.0-alpha14 版包含此連結所列的修訂項目。
API 變更
- 我們已從 Material3
HorizontalPageIndicator
移除indicatorStyle
參數,改為採用裝置螢幕形狀 (線性或圓形)。(I83728) - 我們已透過新增
SplitToggleButtonColors
類別,將SplitToggleButton
的顏色與ToggleButton
的顏色分開。(I78bee)。
1.0.0-alpha13 版
2023 年 10 月 4 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha13
。查看 1.0.0-alpha13 版的修訂項。
API 變更
1.0.0-alpha12 版
2023 年 9 月 20 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha12
。1.0.0-alpha12 版包含此連結所列的修訂項目。
API 變更
- 我們已更新
IconButton
以使用 Material Design 符記。(I3f137) - 我們已更新
IconToggleButton
以使用 Material Design 符記。(I7d263)。 - 我們已將
CheckboxColors
、RadioButtonColors
、SwitchColors
的建構函式設為公用。(I82b73)。
1.0.0-alpha11 版本
2023 年 9 月 6 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha11
。1.0.0-alpha11 版包含此連結所列的修訂項目。
修正錯誤
- 我們已將 Material3 資訊卡的字體排版更新為
TitleMedium
。(I597bd) - 我們已更新 Material3
ListHeader
和ListSubheader
的字體排版和對齊方式。(Ib5ceb)。
1.0.0-alpha10 版本
2023 年 8 月 23 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha10
。1.0.0-alpha10 版本包含以下修訂項目。
新功能
- 在 Wear Material3 程式庫中新增
HorizontalPageIndicator
。(Ifee99)
API 變更
- 更新按鈕程式碼,以便使用 Material3 設計符記。(I92fe4)。
- 由於 Wear Material 3 的使用者介面細節仍在最終定案階段,因此我們將 Wear Material 3 Stepper 和 Slider API 宣告為實驗性 API。(I84d54)。
- 我們已從圓形
TextButton
和TextToggleButton
中移除ExtraSmall
大小,因為該大小只適用於IconButton
。(Ibc7d5)。
修正錯誤
- 我們已更新 TextToggleButton 的字體排版指南,使用 LabelLarge 的 LargeButtonSize (Ib10fa)
- 我們已更新 TextButton 的字體設定指南,將 LargeButtonSize 的 LabelLarge 使用方式更新為 LabelLarge (I8f3a7)
- 我們已將卡片的觸控目標最小值設為 48dp,以符合無障礙功能的規定。(Ieb9b1)
- 新增 AppCard 與圖片示範,移除 AppCard 與背景示範 (Id735f)
- 修正圓形按鈕中未正確連結修飾符的錯誤。(I5e162)。
1.0.0-alpha09 版本
2023 年 8 月 9 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha09
。查看 1.0.0-alpha09 版的修訂項。
新功能
- 我們已為 Material3 新增
ToggleButton
(I6bed6)
API 變更
- 我們已將
FloatRange
註解設為 API 限制,這項資訊先前已在註解中提及。(Icb401)。 - 我們已更新 Wear Material3 的字體排版,以遵循最新的 Material3 規範。(I1bad6)。
修正錯誤
1.0.0-alpha08 版本
2023 年 7 月 26 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha08
。查看 1.0.0-alpha08 版的修訂項。
新功能
- 我們已為 Material3 新增下列選取控制項:
Switch
、Checkbox
、RadioButton
。(Ib918c) - 我們已將
IconToggleButton
和TextToggleButton
新增至 Material3,這是一個圓形切換按鈕,分別有一個圖示和文字的版位。針對不同大小的ToggleButton
,建議使用Modifier.touchTargetAwareSize
,並搭配各個切換按鈕提供的大小。(I9f015) - 我們已在 Material3 元件中新增
ListHeader
和ListSubheader
。(Ibaefe) - 我們新增了 Material3
SwipeToDismissBox
,可呼叫新的 FoundationSwipeToDismissBox
,並提供主題的預設色彩值。(I275fb)。 - 我們已將 Material3
InlineSlider
新增至 Wear Compose。可讓使用者從多種不同的值中選擇。選取範圍會以長條形式顯示範圍的最小值和最大值,使用者可以從該範圍選取單一值。InlineSlider
非常適合用來調整音量或亮度等設定。(I7085f)。
API 變更
- 我們已更新 Wear Material 3 主題中的形狀,改為使用
RoundedCornerShape
而非形狀。(Idb133)。 - 我們已將 Button 的高度常數設為公開 (Idbfde)
- 更新 API 檔案,以標註相容性抑制 (I8e87a、b/287516207)
- 我們已更新 Wear Compose Material 3 中的
InlineSliderColors
,讓其具有公用建構函式和公用屬性。(I6b632) - 我們已更新 Wear Compose Material 3 中的所有色彩類別,讓其擁有公開建構函式和公開屬性。(I17702)。
- 我們已公開 Button 的水平和垂直邊距常數。(Ieeaf7)。
修正錯誤
- 按鈕現在會調整高度,以便在必要時容納因無障礙設計而變大的字型內容 (Iaf302)
- 我們已更新多個 Button 示範,以解決無障礙存取問題。(I61ce9)。
Stepper
和InlineSlider
現在支援長按重複點擊,這樣一來,只要按住 + 或 - 按鈕,即可快速增加/減少Stepper
和InlineSlider
的值 (I27359)
1.0.0-alpha07 版本
2023 年 6 月 21 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha07
。查看 1.0.0-alpha07 版的修訂項。
新功能
- 我們已將
Stepper
元件新增至 Compose for Wear OS Material 3 程式庫。這與先前的 Material 版本類似,但根據開發人員的意見回饋,預設會省略範圍語意。我們會在需要範圍語義的情況下提供Modifier.rangeSemantics
。(Ic39fd) - 我們已將
curvedText
新增至 Compose for Wear OS Material 3 程式庫。(Ia8ae3)。
修正錯誤
- 我們已更新
wear.compose.foundation
,使其成為wear.compose.material3
的 API 依附元件 (I72004、b/285404743)
1.0.0-alpha06 版本
2023 年 6 月 7 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha06
。查看 1.0.0-alpha06 版的修訂項。
修正錯誤
- 我們已更新
TextButton
,以便使用toDisabledColor
擴充函式來修正已停用的 alpha 值。(I814c8)
1.0.0-alpha05 版本
2023 年 5 月 24 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha05
。1.0.0-alpha05 版包含此連結所列的修訂項目。
新功能
- 我們已將
TextButton
新增至 Material3,這是一個圓形按鈕,其中包含一個文字版位。針對不同大小的TextButton
,建議您使用TextButtonDefaults
提供的Modifier.touchTargetAwareSize
和ExtraSmallButtonSize
、SmallButtonSize
、DefaultButtonSize
和LargeButtonSizeIcon
。預設的TextButton
沒有邊框,且背景為透明,用於強調程度較低的動作。如需強調動作,請使用filledTextButtonColors
;如需強調中等程度,請使用帶有輪廓的TextButton
,並將邊框設為ButtonDefaults.outlinedButtonBorder
;如需強調中等程度,請使用filledTonalTextButtonColors
。(I667e4) - 我們已將
Card
、OutlinedCard
、AppCard
和TitleCard
新增至 Wear Compose Material3 程式庫。AppCard
和TitleCard
也可以使用CardDefaults.outlinedCardColors
和CardDefaults.outlinedCardBorder
指定外框外觀(I80e72)
API 變更
- 我們已將 Button 標籤參數移至結尾,以支援結尾 lambda 語法,並移除角色參數 (因為這個參數可使用
Modifier.semantics
覆寫)。ButtonColors
建構函式現已公開。(Ie1b6d)
1.0.0-alpha04 版本
2023 年 5 月 10 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha04
。1.0.0-alpha04 版本包含以下修訂項目。
新功能
- 我們已將
IconButton
新增至 Material3,這是一個圓形按鈕,其中有一個圖示/圖片的單一版位。有四種變化版本:IconButton
、FilledIconButton
、FilledTonalIconButton
和OutlinedIconButton
。針對不同大小的IconButton
,建議您使用IconButtonDefaults
提供的Modifier.touchTargetAwareSize
和ExtraSmallButtonSize
、SmallButtonSize
、DefaultButtonSize
和LargeButtonSizeIcon
。我們也提供IconButtonDefaults.iconSizeFor
,用於判斷特定按鈕大小的建議圖示大小。(I721d4)
1.0.0-alpha03 版本
2023 年 4 月 19 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha03
。1.0.0-alpha03 版包含此連結所列的修訂項目。
API 變更
- 我們已新增 Material 3 按鈕元件,這是我們的體育場形狀按鈕,在 Wear Compose Material 程式庫中原名為 Chip (已重新命名為 Button,以便與 Compose Material 3 程式庫保持一致)。預設的 Button 具有填滿背景,且有
FilledTonal
(柔和背景)、Outlined (透明且有細邊框) 和 Child (透明背景且無邊框,用於具有最低顯眼度的輔助動作) 等按鈕變化版本。簡單圖示和文字內容的圓形按鈕將在日後的版本中推出。(Ia6942)
1.0.0-alpha02 版
2023 年 4 月 5 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha02
。1.0.0-alpha02 版包含此連結所列的修訂項目。
修正錯誤
- 我們已在 Wear Compose Material 3 中新增
DefaultTextStyle
,預設PlatformTextStyle.includeFontPadding
為 true (目前的設定)。這可讓我們在日後同步關閉預設的字型邊距,並使用 Compose 程式庫 (請參閱「修正 Compose 背景的字型邊距」)。(I7e461)。
1.0.0-alpha01 版
2023 年 3 月 22 日
發布 androidx.wear.compose:compose-material3:1.0.0-alpha01
。1.0.0-alpha01 版包含此連結所列的修訂項目。
新功能
Material 3 是新一代的 Material Design,包含更新的主題設定和重新設計的元件。Wear Compose 上的 Material 3 旨在與 Android 上的 Material 3 Compose 程式庫相容。此第一版 Alpha 版本包含以下內容的初期功能實作:
我們會同時開發 Wear Material (
androidx.wear.compose:compose-material
) 和 Wear Material 3 (androidx.wear.compose:compose-material3
)。日後推出的 Material3 版本將擴充小工具組,納入 Compose for Wear OS 中的其他常見元件,例如按鈕、挑選器和滑桿。Wear Material 和 Wear Material 3 程式庫互斥,不應在同一個應用程式中混用,主要是因為它們會參照不同的主題,可能會導致意外的不一致性。