Compose Material 3
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 12 月 12 日 | 1.3.1 | - | - | 1.4.0-alpha05 |
結構
Compose 是由 androidx
中的七個 Maven 群組 ID 所組成。每個群組都包含一個指定功能子集,且各有一組專屬的版本資訊。
下表提供各群組的說明和每組版本資訊的連結。
群組 | 說明 |
---|---|
compose.animation | 在 Jetpack Compose 應用程式中建構動畫,提供豐富的使用者體驗。 |
compose.compiler | 透過 Kotlin 編譯器外掛程式轉換 @Composable 函式,並啟用最佳化功能。 |
compose.foundation | 透過現成的構成元素編寫 Jetpack Compose 應用程式,然後進一步擴充基礎,建構出自己的設計系統元件。 |
compose.material | 運用現成的 Material Design 元件建構 Jetpack Compose UI。這是更高層級的 Compose 進入點,用意是確保提供的元件與 www.material.io 上所述元件相符。 |
compose.material3 | 運用新一代的 Material Design 3 元件建構 Jetpack Compose UI。Material 3 提供新的主題設定和元件,以及動態色彩等 Material You 個人化功能,可呼應全新的 Android 12 視覺風格和系統 UI。 |
compose.runtime | Compose 程式設計模型和狀態管理的基本構成元素,以及 Compose Compiler 外掛程式指定的核心執行階段。 |
compose.ui | 與裝置互動所需的 Compose UI 基礎元件,包括版面配置、繪圖及輸入。 |
宣告依附元件
如要新增 Compose 的依附元件,必須將 Google Maven 存放區新增至您的專案。詳情請參閱「Google 的 Maven 存放區」一節。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.3.1" implementation "androidx.compose.material3:material3-window-size-class:1.3.1" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.1") implementation("androidx.compose.material3:material3-window-size-class:1.3.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
Compose Material3 1.0 版通用版本
1.0.0-alpha01 版
2024 年 4 月 17 日
發布 androidx.compose.material3:material3-common:1.0.0-alpha01
、androidx.compose.material3:material3-common-android:1.0.0-alpha01
和 androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
。1.0.0-alpha01 版包含這些修訂版本。
新功能
可用於建構 Material Design 元件的無主題元件:
- 色調調色盤
- 圖示
- 觸控目標大小
Compose Material3 Adaptive Navigation Suite 1.0 版
1.0.0-alpha07 版本
2024 年 5 月 1 日
發布 androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
和 androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
。1.0.0-alpha07 版包含這些修訂項目。
API 變更
- 將導航套件 API 設為非實驗性 (If62af)
修正錯誤
- 預設會為內容使用邊框 (50266df)
1.0.0-alpha06 版本
2024 年 4 月 17 日
發布 androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
和 androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
。1.0.0-alpha06 版包含這些修訂項目。
API 變更
- 將
containerColor
和contentColor
新增至NavigationSuiteScaffoldDefaults
。(I64e3a、b/331993720)。 - 將
itemColors
函式新增至NavigationSuiteDefaults
。(Idf719、b/328480012)。 - 將
NavigationSuiteScope
設為密封。(Iefa57)。
1.0.0-alpha05 版本
2024 年 3 月 6 日
發布 androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
和 androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
。1.0.0-alpha05 版包含這些修訂項目。
API 變更
- 將
NavigationSuiteItemColors
建構函式設為公開。(Ica83a、b/324886877)
1.0.0-alpha04 版本
2024 年 2 月 21 日
發布 androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04
和 androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04
。1.0.0-alpha04 版包含以下修訂項目。
依附元件更新
1.0.0-alpha03 版本
2024 年 2 月 7 日
發布 androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
和 androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
。查看 1.0.0-alpha03 版的修訂項。
API 變更
- 將套件名稱從 navigation-suite 更新為 navigationsuite (I7eff7)
- 在 API 中公開
MutableInteractionSource
的 Material3 元件已更新,現在會公開預設為空值的 nullableMutableInteractionSource
。這裡沒有語意變更:傳遞空值表示您不想提升MutableInteractionSource
,且會在需要時在元件內部建立MutableInteractionSource
。變更為空值後,部分元件就不會分配MutableInteractionSource
,其他元件也只會在需要時才延遲建立例項,進而提升這些元件的效能。如果您未使用傳遞至這些元件的MutableInteractionSource
,建議改為傳遞空值。建議您在自己的元件中進行類似變更。(I41abb、b/298048146)。
1.0.0-alpha02 版
2023 年 12 月 13 日
發布 androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
、androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
和 androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
。1.0.0-alpha02 版本包含以下修訂項目。
新功能
- 新增「None」
NavigationSuiteType
(If8cb1、b/313688598)
修正錯誤
- 修正當根目錄表層含有
modifier.fillMaxSize
時,導覽元件會填滿整個螢幕的問題。(c9cf250、b/312664933)。
1.0.0-alpha01 版
2023 年 11 月 15 日
發布 androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
。1.0.0-alpha01 版包含此連結所列的修訂項目。
新功能
Compose Material3 Adaptive 1.0 版
1.0.0-alpha06 版本
2024 年 2 月 7 日
發布 androidx.compose.material3:material3-adaptive:1.0.0-alpha06
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
和 androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
。1.0.0-alpha06 版包含此連結所列的修訂項目。
新功能
1.0.0-alpha05 版本
2024 年 1 月 24 日
發布 androidx.compose.material3:material3-adaptive:1.0.0-alpha05
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
和 androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
。查看 1.0.0-alpha05 版的修訂項。
新功能
- 在 Scaffold 導覽和值計算中支援歷史記錄感知 (I71d46)
1.0.0-alpha04 版本
2024 年 1 月 10 日
發布 androidx.compose.material3:material3-adaptive:1.0.0-alpha04
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
和 androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
。1.0.0-alpha04 版包含以下修訂項目。
新功能
- 在窗格架構中新增了從邊到邊支援功能 (I1b462)
API 變更
- 將 Posture 中的鉸鏈邊界屬性移至鉸鏈資訊清單 (I24f90)
修正錯誤
- 修正
AnimatedPane
未重新組合的問題 (c3f573d)
1.0.0-alpha03 版本
2023 年 12 月 13 日
發布 androidx.compose.material3:material3-adaptive:1.0.0-alpha03
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
和 androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
。查看 1.0.0-alpha03 版的修訂項。
API 變更
- 將結構體角色變更為
ThreePaneScaffoldRole
的別名。(I65bd1) - 為結構體角色建立基礎類別 (I4784d)
- 從
AnimatedPane
的內容中移除不必要的參數 (Ibc73b) - 重新命名
collectWindowSizeAsState
,並改為傳回原始值 (I480f4)
1.0.0-alpha02 版
2023 年 11 月 29 日
發布 androidx.compose.material3:material3-adaptive:1.0.0-alpha02
、androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
和 androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
。1.0.0-alpha02 版本包含以下修訂項目。
API 變更
修正錯誤
- 修正未使用
AnimatedPane
時,畫面不會切換的問題 (d88f181)
1.0.0-alpha01 版
2023 年 11 月 15 日
發布 androidx.compose.material3:material3-adaptive:1.0.0-alpha01
。1.0.0-alpha01 版包含此連結所列的修訂項目。
新功能
Material3 自適應條件 API:
Material3 自適應窗格架構指令 API:
Material3 自適應窗格架構 API:
- 窗格結構體的基本 API
Compose Material3 1.4 版
1.4.0-alpha05 版
2024 年 12 月 12 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha05
。1.4.0-alpha05 版包含這些修訂項目。
API 變更
- 為方便閱讀,請替換
WideNavigationRailState.current/target
值中的列舉類型 (I2d6ab) SplitButton
將 Shape API 從資料類別變更為類別,以便與二進位檔相容。(I53812)。- 新增含有
onDismissRequest
參數的工具提示 API,方便製作者決定使用者在工具提示外點按時的動作。已淘汰不含此新參數的舊版 API。(I99aef)。 - 將
opticalCentering
的名稱變更為horizontalCenterOptically
。將修飾符設為內部。將邊框間距參數換成最大起始和結束偏移量。(I0b904)。 - 變更
WideNavigationRailState
以取得目前/目標值,移除列舉,改用布林值。(Idfa29、b/356039090)。 - 新增
NavigationBarItemComponentOverride
。(I3a06a)
修正錯誤
- 修正頂端和底部的應用程式列行為,以便在捲動至最後一筆資料時可靠地變更顏色。(Idc4e8、b/293665988)。
- 頂部和底部應用程式列的捲動行為函式現在會傳回已記住的行為,以便在重新組合時獲得更佳效能。(I0fdbe、b/207957336)。
- 修飾符參數現在會在內部修飾符 (例如拖曳行為和語意) 之後套用,而不是之前。這會影響修飾符的套用順序。(I8d83f)
- 展開的底部功能表在大小變更時仍會保持展開狀態。(I2870b、b/324934884)。
- 正確地為視窗屬性設定路徑狀態和導覽列旗標。(Ie674d、b/362539765)。
- 請按照說明文件所述,將修飾符參數移至結構體根目錄。這可讓實作內容與 M2 保持一致。(I0235e、b/372311595)。
外部貢獻
- 通用
DatePickerDialog
函式。(I7dced)。
1.4.0-alpha04 版本
2024 年 11 月 13 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha04
。1.4.0-alpha04 版包含這些修訂版本。
行為變更
- 將 aosp/3212478 中引進的顏色變更還原至
iconButtonColors
、iconToggleButtonColors
、outlinedIconButtonColors
、outlinedIconToggleButtonColors
和outlinedIconToggleButtonBorder
。將現已還原的行為移至名為iconButtonVibrantColors
等的新函式組合,以強調傳回的高對比色彩。(Iffd8d)。
新功能
- 推出
VerticalDragHandle
元件 (I6c770)
API 變更
- 將
DismissibleModalWideNavigationRailDefaults
重新命名為ModalWideNavigationRailDefaults
。(I8e877) - 新增
NavigationBarComponentOverrides
。(I8a3f3)。 - 新增
NavigationRailComponentOverride
。(I83e13)。 - 引入
WideNavigationRailState
來處理摺疊/展開軌道,允許ModalWideNavigationRail
可關閉,並刪除DismissibleModalWideNavigationRail
。(I88568) - 將 xSmall、medium、large 和 xLarge 尺寸的預設值新增至切換鈕預設值。(Ie95d1)。
- 將 xSmall、medium、large 和 xLarge 大小的預設值新增至按鈕預設值。(If8b6d)
修正錯誤
- 根據規格,篩選器方塊尾隨圖示的顏色已從 Primary 更新為
OnSurfaceContainer
。根據規格,所有方塊外框顏色已從 Outline 更新為 Outline Variant。(I68bd4)
1.4.0-alpha03 版
2024 年 10 月 30 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha03
。1.4.0-alpha03 版包含這些修訂版本。
API 變更
- 已淘汰含有密度的
SheetState
建構函式,改用位置和速度門檻。(Ifd16e)。 - 新增包含更新後定位邏輯的
rememberTooltipPositionProvider
。已淘汰rememberPlainTooltipPositionProvider
和rememberRichTooltipPositionProvider
。(Ie66e2)。 - 額外的
ModalBottomSheetProperties
可讓您自訂狀態列和導覽列的顏色。根據預設,這些更新會根據內容顏色而非系統深色主題狀態進行。(Ib874e、b/362539765) - 改善日期挑選器的輸入體驗:在輸入模式下,系統會將焦點放在日期文字欄位,以便立即輸入文字。這項變更會在
DatePicker
和DateRangePicker
中新增requestFocus
參數。您可以傳遞false
來防止焦點。(I12d09、b/286399710、b/340102743)。 - 將形狀預設值快取至 Shape 物件。將切換鈕的預設形狀設為
@Composable
。由於變化版本會指向相同的符記檔案,因此系統會將圖形折疊為一個預設圖形。(Iaa014)。
修正錯誤
- 最佳化 Scaffold
contentPadding
行為,避免在contentPadding
變更時一律重組主體內容。(I8c8e2、b/373904168)。 TextFieldLabelScope
progress
已重新命名為labelMinimizedProgress
TextFieldLabelPosition
Default
已重新命名為Attached
。介面成員已遭移除。(If75c6)- 修正輸入模式中
DatePicker
的問題,驗證錯誤可能會導致元件的高度發生變化。(I2e229、b/280462363)。 - 讓 Material Slider 在按下控制鍵時變更其值。(I1c442)
1.4.0-alpha02 版
2024 年 10 月 16 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha02
。1.4.0-alpha02 版包含這些修訂項目。
API 變更
- 更新日期挑選器,確保在直接透過
DatePickerState
或DateRangePickerState
設定語言代碼時,DatePicker
和DateRangePicker
都能一致使用語言代碼。請注意,直接將語言代碼設為狀態時,您必須確保標題和標題文字已相應本地化,因為系統仍會根據預設平台語言代碼套用預設文字。(I37073、b/326490763、b/321657276)。 SheetState.isAnimationRunning
現已公開。(I9a3d7)。DatePickerColors
現在會正確優先採用主題的字體排版文字樣式中定義的任何衝突顏色。另請注意,這項更新會調整日期挑選器函式中color
參數的位置,並引入contentColor
參數,用於自訂標題和標題文字的顏色。(I30d03、b/347031394)。- 將
SplitButton
重新命名為SplitButtonLayout
,並移除SplitButton
顏色變化版本 API,透過重複使用SplitButtonDefaults
提供的按鈕變化版本來建立變化版本。(I44c36)。 ModalBottomSheet
現在有sheetGestureEnabled
參數 (I856cb、b/288211587)- 將
standardMotionScheme
和expressiveMotionScheme
重新命名為標準和表情符號。您現在可以透過MotionScheme
隨附物件呼叫MotionScheme.standard()
和MotionScheme.expressive()
,存取這兩個函式。(Iceccf) - 將
maxWidth
參數新增至一般和豐富工具提示。預設設計規格為 200 dp (一般工具提示) 和 320 dp (豐富工具提示)。(I30ce9)
修正錯誤
DatePicker
和DateRangePicker
現在可透過狀態的displayedMonthMillis
正確更新顯示月份。(If9e47、b/333414302)。ModalBottomSheet
內容現在會從狀態列移除。(I5114c、b/321877275、b/336962418、b/342093067)。- [底部選單] 將回呼優先順序改回
PRIORITY_DEFAULT
,讓輸入法編輯器鍵盤先關閉。(I447fb)。 - 當可選取的最小年份設為未來年份時,修正
DatePicker
和DateRangePicker
中的當機問題。(I78656、b/319395747) - 修正日期挑選器問題,以便在套用更新後的
SelectableDates
例項時更新 UI。(Iad59a、b/290135807、b/339898760)。
1.4.0-alpha01 版
2024 年 10 月 2 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha01
。1.4.0-alpha01 版包含這些修訂版本。
行為變更
- 程式庫不再為
material-icons-core
新增依附元件,因此如果您的專案依賴該依附元件,您必須在build.gradle[.kts]
檔案中明確新增該依附元件。(I735ff、b/349894318)。 NavigationBarItem
和NavigationRailItem
的有效標籤顏色已從onSurface
變更為secondary
,以改善可用性、顏色對比度,並提升系統內的一致性 (Ibc297)。如要還原先前的行為,請複製預設顏色,並將selectedTextColor
變更為MaterialTheme.colorScheme.onSurface
。- Material 3 元件現在使用新的
MotionScheme
定義動作。(Ie0f93) - 未確定的圓形進度指標動作變更 (I3c07e)
- 更新
OutlinedIconButtonColors
和OutlinedIconToggleButtonColors
,改善色彩對比度。(I2743d)。 - 已更新
FilledIconToggleButtonColors
和FilledTonalIconToggleButtonColors
的容器和內容顏色。(Ic5d0f)。 - 已將
OutlinedButton
邊框顏色從outline
更新為outlineVariant
。(057f00)。
API 變更
- 在
TopAppBar
的enterAlwaysScrollBehavior
函式中新增選用reverseLayout
參數,以便更有效地支援使用reverseLayout
設定的內容。(I4e0e5) SegmentedButton
現在支援contentPadding
引數。(I5ad91、b/358414376)。PullToRefreshState
不再為isAnimating
提供預設實作 (I6a593)- 新增使用
TextFieldState
的 MaterialTextField
和OutlinedTextField
超載。新增與TextFieldDecorator
相容的裝飾框 API。(If13a1)。 - 新增參數來控制文字欄位的
labelPosition
。使用alwaysMinimize
可讓 UI 模式在文字欄位中同時顯示標籤和預留位置,即使該欄位未獲得焦點也一樣。(I1ef2c) - 新增 Material
SecureTextField
和OutlinedSecureTextField
供密碼輸入欄位使用。(I7e22d) - 在文字欄位標籤中新增範圍,以便查詢動畫進度。(If5ec8)
- 在工具提示中新增對
MotionEvent.CLASSIFICATION_DEEP_PRESS
的支援。(I62e6a)。 TimePickerState
的isAfternoon
現已改為擴充功能 val,而非介面中的 var,並重新命名為isPm
(I89a97)- 更新字體排版類別,以支援強調的字型比例。(Ifa13c)
- 新增
ModalWideNavigationRail
API,並將ModalExpandedNavigationRail
API 重新命名為DismissibleModalWideNavigationRail
。(Ic9118) - 更新
FloatingAppBarScrollBehavior
,以便自動計算screenOffset
,且不需要@Composable
。(Idf349)。 - 更新
LoadingIndicator
API,修正其預設物件的命名方式。在PullToRefresh
中新增LoadingIndicatorElevation
常數。(I1d72b) - 更新
LoadingIndicator
API,修正其預設物件的命名方式。在PullToRefresh
中新增LoadingIndicatorElevation
常數。(I1d72b) - 已在
LinearWavyProgressIndicator
和CircularWavyProgressIndicator
的不確定變化版本中新增amplitude
和waveSpeed
參數。(I2a0c5) - 支援根據圖示切換按鈕的按下或勾選狀態變更其形狀。(Ibc781)。
- 更新字體排版類別,以支援強調的字型比例。(Ifa13c)
SplitButton
形狀會根據預設 / 按下狀態進行變形。移除AnimatedTrailingButton
API,因為TrailingButton
API 可提供相同的自訂選項 (I95066)- 新增修飾符,以便在內容捲動時,顯示和隱藏 FAB 的動畫。(I8338d)。
- 將連接的按鈕群組形狀和間距新增至
ButtonGroupDefaults
,以便在範例中使用。(I68e30)。 - 分割按鈕為後置按鈕新增水平邊框間距,並根據起始和結尾角落的差異計算光學置中點 (I122e2)
- 我們推出新的 Material
MotionScheme
,讓您為元件的動作設定配置。配置會透過MaterialTheme
設定。(Id50c2)
修正錯誤
- 將正確的焦點瀏覽索引套用至
Scaffold
子項可組合項。順序為topBar
、bottomBar
、FAB、內容、Snackbar。(I5936b)。 - 修正
DatePicker
和DateRangePicker
的問題,在某些語言代碼和格式化結構中,部分日期元素 (例如月份名稱) 並未以大寫字母開頭。(I1430f)。 - 整合懸浮動作按鈕和懸浮動作按鈕選單元件符記 (邊框和文字的視覺更新) (Ib57f3)
ModalBottomSheet
現已列於語意檢視順序的首位,後面再顯示遮罩。(I436f9、b/358594665)。- 修正在邊到邊模式下,捲動導覽方塊下方的底部應用程式列不會完全消失的問題 (I3ee21)
Compose Material3 1.3 版
1.3.1 版本
2024 年 10 月 30 日
發布 androidx.compose.material3:material3-*:1.3.1
。1.3.1 版包含這些修訂項目。
修正錯誤
DatePicker
和DateRangePicker
現在可透過狀態的displayedMonthMillis
正確更新顯示月份。(If9e47、b/333414302)。- 當可選取的最小年份設為未來年份時,修正
DatePicker
和DateRangePicker
中的當機問題。(I78656、b/319395747) - 修正日期挑選器問題,以便在套用更新後的
SelectableDates
例項時更新 UI。(Iad59a、b/290135807、b/339898760)。 - 將底部頁面使用的回呼優先順序變更為
PRIORITY_DEFAULT
,讓 IME 鍵盤先關閉。(I447fb)。
1.3.0 版本
2024 年 9 月 4 日
發布 androidx.compose.material3:material3-*:1.3.0
。1.3.0 版包含這些修訂版本。
自 1.2.0 版以來的重要異動
1.3.0 的主要功能
新的 Material Design 3 元件
- 輪轉介面
HorizontalMultiBrowseCarousel
和HorizontalUncontainedCarousel
改善現有的 Material Design 3 元件。
- [
ModalBottomSheet
] 現在支援 U+ 上的預測返回功能 (Iccf32、b/281967264、b/304850357) - [
SearchBar
] 現在支援 U+ 上的預測返回功能 (I657f8) - 導覽匣 (
ModalDrawerSheet
和DismissibleDrawerSheet
) 現在支援 U+ 的預測返回功能 (Ie5b0b) DropdownMenu
現在支援自訂顏色、形狀、高度和邊框。(I8e981、b/289554448、b/301887035、b/283654243)- 更新滑桿,加入間距和停止指標,以改善無障礙功能。(I3058e)
- 更新
ProgressIndicator
,加入間距和停止指標,改善無障礙功能。(I21451) - 新增富內容工具提示的預設插入符號,支援在指定錨點
LayoutCoordinates
上繪製自訂插入符號。(Ifd42c) 破壞性變更 - 新的「拉動刷新」API:
- 簡化
PullToRefreshState
,以便使用小數值而非 Dp 單位。 isRefreshing
狀態是由使用者控管,而非PullToRefreshState
。- 將巢狀捲動連結從
PullToRefreshState
中分離出來。由新的PullToRefreshBox
或Modifier.pullToRefresh
處理。 - 這項更新會對先前的實驗性 API 造成破壞性變更。(I0adeb、b/314496282、b/317177684、b/323787138、b/324573502、b/317177683) 視覺上的重大變更
- 簡化
- 更新焦點狀態疊加層,將其設為 0.1f,確保色彩對比度足夠。(I7ea77)。
- 對
lightColorScheme
和darkColorScheme
中的表面和背景顏色預設值進行微調。(I9db52)。 - 更新滑桿和
ProgressIndicator
顏色,以符合新的非文字對比度規格。(I26807)。 SurfaceContainer
變化版本現在已可供元件使用。以往使用Surface
和TonalElevation
正式計算顏色的元件,現在預設會使用SurfaceContainer
角色,不會受到色調提升的影響。(b/304584161)- 我們稍微調整了途徑和途徑容器的基準角色,在淺色和深色主題中提供更多色調。(I677a5)。
- 將實驗性 API 升級為穩定版!
- 提升效能
1.3.0-rc01 版本
2024 年 8 月 21 日
發布 androidx.compose.material3:material3-*:1.3.0-rc01
。1.3.0-rc01 版本包含這些修訂版本。
修正錯誤
ModalBottomSheet
現在會在語意檢索順序中排在最前,接著是遮罩畫面。(I436f9、b/358594665)。
1.3.0-beta05 版
2024 年 7 月 24 日
發布 androidx.compose.material3:material3-*:1.3.0-beta05
。1.3.0-beta05 版包含這些修訂版本。
1.3.0-beta04 版
2024 年 6 月 26 日
發布 androidx.compose.material3:material3-*:1.3.0-beta04
。1.3.0-beta04 版包含這些修訂版本。
1.3.0-beta03 版
2024 年 6 月 12 日
發布 androidx.compose.material3:material3-*:1.3.0-beta03
。1.3.0-beta03 版包含這些修訂版本。
外部貢獻
- 從常見來源集提供
androidx.compose.material3.DropdownMenu
。(If62c0)。
1.3.0-beta02 版
2024 年 5 月 29 日
發布 androidx.compose.material3:material3-*:1.3.0-beta02
。1.3.0-beta02 版包含這些修訂項目。
API 變更
Modifier.pullToRefreshIndicator
支援高程,更新 Pull To Refresh API 以啟用布林值,而非 lambda。支援PullToRefreshBox
中的內容對齊 (I75679)- 將
TooltipScope
設為封閉式介面,並建立內部實作項目,以便在TooltipBox
和 Label 中使用。(I3833e)。 - 在
CarouselItemScope
中新增兩個修飾符 (maskClip
和maskBorder
),方便為任何輪轉介面項目新增形狀和邊框 (Id67a1) TimePickerState
現在是介面,可用於設定時間 (I88546)- 更新 API 以設定連結樣式:將
TextLinkStyles
移至TextStyle
,並從 Material 中移除TextDefaults
。(I5477b)。
修正錯誤
ModalBottomSheet
狀態和導覽列圖示現在會回應深色主題狀態。(Ie1fe7、b/338342149)。- 已在
ModalBottomSheet
scrim 中新增關閉資訊卡語意。(0e61cb、b/328801864)。
外部貢獻
1.3.0-beta01 版本
2024 年 5 月 14 日
發布 androidx.compose.material3:material3-*:1.3.0-beta01
。1.3.0-beta01 版包含這些修訂版本。
API 變更
- 使用
DpSize
而非CaretProperties
。移除CaretProperties
。將CaretScope
重新命名為TooltipScope
。(Id9a76)。 - 更新 API,以便在文字中取得 Material 主題連結。具體來說,我們從
TextDefaults
中移除了用於建構主題化LinkAnnotations
的方法,並使用主題化連結剖析 HTML。請改為新增TextLinkStyles
類別,讓您可以將連結樣式做為參數新增至 Text 可組合項。(I31b93)
1.3.0-alpha06 版
2024 年 5 月 1 日
發布 androidx.compose.material3:material3-*:1.3.0-alpha06
。1.3.0-alpha06 版包含這些修訂項目。
破壞性變更
新的「拉動刷新」API:
- 簡化
PullToRefreshState
,以便使用小數值而非 Dp 單位。 isRefreshing
狀態是由使用者控管,而非PullToRefreshState
。- 將巢狀捲動連結從
PullToRefreshState
中分離出來。由新的PullToRefreshBox
或Modifier.pullToRefresh
處理。 - 這項更新會對先前的實驗性 API 造成破壞性變更。(I0adeb、b/314496282、b/317177684、b/323787138、b/324573502、b/317177683)。
- 簡化
API 變更
RippleConfiguration#isEnabled
已移除,LocalRippleConfiguration
已設為可為空值。如要停用漣漪效果,請將null
提供給LocalRippleConfiguration
,而不是使用isEnabled = false
提供RippleConfiguration
。(I22725)。ModalBottomSheet
在啟用從邊到邊功能時,會更準確地在狀態列上繪製遮罩。模態底部功能表內容現在可以使用視窗內嵌,讓導覽列上方顯示可見內容。ModalBottomSheet
參數windowInsets
已重新命名為contentWindowInsets
,以便指定要套用內嵌的區域,這些內嵌項目不再與視窗邏輯相關聯。contentWindowInsets
類型已變更為會傳回WindowInsets
的函式,以便在新的視窗中進行解析。(I39630、b/274872542、b/300280229、b/290893168)PrimaryScrollableTabRow
和SecondaryScrollableTabRow
現在使用自訂版面配置,而非子組合,這應該可改善效能。(I991e0)。- 除了一般樣式、滑鼠游標懸停和聚焦狀態,文字連結也提供按下狀態樣式選項。
TextDefaults
方法各自都有一個pressedStyle
引數來支援此功能。(Ic473f、b/139312671)。
修正錯誤
- 導覽匣拖曳錨點現在會與
drawerContent
的寬度相符。(Ibc72f、b/245355396) OutlinedTextField
標籤的頂端邊框間距現在會考量系統字型大小。(Idc781)。- 已修正
CalendarLocale
的套件位置。(Ifa235)。 - [預測返回] 更新預測返回動畫,以便使用 (0.1, 0.1, 0, 1) 的插補曲線 (I2591a)
1.3.0-alpha05 版
2024 年 4 月 17 日
發布 androidx.compose.material3:material3-*:1.3.0-alpha05
。1.3.0-alpha05 版包含這些修訂項目。
新功能
SearchBar
和DockedSearchBar
有新的超載,可採用文字欄位參數。這樣一來,您就能為文字欄位設定樣式,並與搜尋列的其他部分分開,也可以傳入自訂文字欄位。目前實作項目的文字欄位已可使用SearchBarDefaults.InputField
。(I50c73、b/275074248、b/278773336、b/326627700)- 已將 lambda
drawTick
新增至公開 API,以便視需要自訂 Ticks (I0c048)
API 變更
- 除了一般樣式、滑鼠游標懸停和聚焦狀態之外,文字連結現在也支援按下狀態樣式選項 (I5f864、b/139312671)
- 更新
CarouselItemInfo
,以便公開項目遭到裁剪的遮罩矩形 (I785d8) - 已從 Material 3 公用 API 中移除
BasicTooltipState
。在 Foundation 的BasicTooltip
穩定前,其功能會與TooltipState
結合。(Icda29)。 - 新增
TextDefaults
物件,其中包含建構LinkAnnotation
的方法,以及可將MaterialTheme
套用至連結的剖析 HTML 標記字串 (I98532、b/139312671) ExposedDropdownMenuBoxScope
不再允許子類別。已公開的下拉式選單現在有MenuAnchorType
,應傳遞至menuAnchor
,以便支援更佳的 a11y。請改用這項方法,不要將focusable
傳遞至ExposedDropdownMenu
,因為後者已淘汰。menuAnchor
有新的參數可用來控制enabled
狀態。(I55ee6、b/257209915、b/308840226)。- 修正
OutlinedButton
停用時的邊框顏色。新增了採用啟用狀態的ButtonDefaults.outlinedButtonBorder("enabled")
超載。(Ie650b、b/318461363)。 - 新增
CarouselItemInfo
類別,協助用戶端取得項目大小的相關資訊。(I9070c)。 - 沒有途徑容器的
ColorScheme
建構函式現已淘汰。請遷移至包含表面容器的建構函式。(I35c11)。 - [Outlined]
TextFieldDefaults
ContainerBox
已重新命名為Container
。(Ie8d3b)。
修正錯誤
- 如果
sheetSwipeEnabled
為 false,BottomSheetScaffold
就不會再從巢狀捲動捲動。(I5e1c1、b/306464779)。 - 已在
IconButtonSamples.kt
中移除部分ExperimentalMaterial3Api
OptIn 註解。(I111d1)
1.3.0-alpha04 版本
2024 年 4 月 3 日
發布 androidx.compose.material3:material3-*:1.3.0-alpha04
。1.3.0-alpha04 版包含這些修訂項目。
新功能
- 新增兩個 Material3 Carousel 實驗版本 -
HorizontalMultiBrowseCarousel
和HorizontalUncontainedCarousel
(I88d64) - 更新 Compose M3 導覽匣 (
ModalDrawerSheet
和DismissibleDrawerSheet
),以便在 U+ 上支援預測返回手勢 (Ie5b0b) - 在 Icon 中新增了一個 API,可將色調傳遞做為 lambda,避免重組。(I5b5a2)。
- 頂端應用程式列 API 現在支援固定和可摺疊區段的自訂高度。(Ib8b0c、b/323403446)。
API 變更
- 頂端應用程式列 API 現在支援固定和可摺疊區段的自訂高度。修正了在捲動內容時,單行頂端應用程式列重組次數過多的問題。修正在裝置上使用大字型/顯示設定時,
MediumTopAppBar
會截斷標題的問題。(Ib8b0c、b/323403446、b/300953236、b/286296147、b/330410290、b/308540676) SegmentedButton
和相關 API 現已穩定 (I8a158)SwipeToDismissBox
、SwipeToDismissBoxDefaults
、SwipeToDismissBoxState
和SwipeToDismissBoxValue
現已標示為穩定版。(I5f000)。- 已移除已淘汰的
DismissDirection
和DismissValue
列舉和 API。(I89ccd)。 - 在輪轉介面的
CarouselState
伴隨物件中新增實驗性代碼。(I94154)。 - 淘汰
LocalMinimumInteractiveComponentEnforcement
,並引入LocalMinimumInteractiveComponentSize
取代LocalMinimumInteractiveComponentEnforcement
。(I7a7ac)。 SearchBarColors
建構函式現已公開。(I769ca)- 已將
gesturesEnabled
參數新增至SwipeToDismissBox
。(Idc59f、b/324170119)。 - 移除標示為已淘汰和實驗性的文字欄位 API。(I1305f)。
1.3.0-alpha03 版
March 20, 2024
發布 androidx.compose.material3:material3-*:1.3.0-alpha03
。1.3.0-alpha03 版包含這些修訂版本。
視覺破壞性變更
- 更新焦點狀態疊加層,將其設為 0.1f,確保色彩對比度足夠。(I7ea77)。
- 針對
lightColorScheme
和darkColorScheme
中的表面和背景顏色預設值進行微調。(I9db52)。
新功能
- 新增參數以自訂
ExposedDropdownMenu
。特別是,現在的選單有focusable
參數 (預設為true
),在使用可編輯的文字欄位時,應將其設為false
。(I4184c、b/323694447、b/278609042)。
API 變更
- 已移除
ScaffoldSubcomposeInMeasureFix
標記。(Ie2a4b)。 NavigationRailItemColors
現已標示為@Immutable
。(If6112、b/327660613)。NavigationBarItemColors
現已標示為@Immutable
。(I42a30、b/298064514)。- 重新排序 Slider Track 可組合函式中的參數。(I9f315)。
ExposedDropdownMenu
現在是使用Popup
實作。行為應相同,但如果使用者在鍵盤上輸入內容,則可聚焦的選單可能會關閉含有可編輯文字欄位的選單。
修正錯誤
- 我們稍微調整了途徑和途徑容器的基準角色,在淺色和深色主題中提供更多色調。(I677a5)。
- 更新滑桿和
ProgressIndicator
顏色,以符合新的非文字對比度規格。(I26807)。 - 更新焦點狀態疊加層,將其設為 0.1f,確保色彩對比度足夠。(I7ea77)。
- 對
lightColorScheme
和darkColorScheme
中的表面和背景顏色預設值進行微調。(I9db52)。
1.3.0-alpha02 版本
2024 年 3 月 6 日
發布 androidx.compose.material3:material3-*:1.3.0-alpha02
。1.3.0-alpha02 版包含這些修訂項目。
API 變更
- 讓滑桿狀態再次穩定。再次將
State.onValueChangeFinished
設為 val。將onValueChangeFinished
納入rememberUpdatedState
中。(I82ab2、b/322269951)。 - Navigation 元件現在會使用新的
SurfaceContainer
角色。DrawerDefaults
現在提供不同的standardContainerColor
和modalContainerColor
屬性。DrawerDefaults.ModalDrawerElevation
現在是0.dp
。(I7fbac)。 - 由於我們將
state.onValueChangeFinished
變更為var
,因此從Slider
的狀態中移除@Stable
。(Ied34a、b/322269951)。 ModalBottomSheet
和StandardBottomSheet
動畫規格現在是TweenSpec
,可從彈簧效果更新。這可解決可見超出的問題。已淘汰的SheetState
建構函式 (不含密度) 現已移除。(I7babc、b/285847707)。
修正錯誤
- 元件現在會使用
SurfaceContainer
變化版本。以往透過 Surface 和TonalElevation
正式計算顏色的元件,現在預設會使用SurfaceContainer
角色,不會受到色調高度影響。(b/304584161) - 修正導致
ElevatedFilterChip
未選取的停用容器顏色為黑色的錯誤。(I400e6、b/322407043)。 - 修正進度為 0 時的未確定進度指標 (Id6582)
- 修正 RTL 版面配置中
Slider
和RangeSlider
的問題 (Iab0e1) - 由於浮點四捨五入可能不準確,因此我們新增
SliderRangeTolerance
來計算滑桿範圍。(Ic918a、b/324934900)。 - 請確認在巢狀
DateRangePicker
或在小螢幕上以較大的字型顯示任何類型的日期挑選器時,DatePickerDialog
會顯示按鈕。(Ie4758、b/325107799、b/277768544)。 Menu
現在會利用SurfaceContainer
角色設定容器顏色。MenuDefaults.TonalElevation
現在是0.dp
。(I135b7)。TextField
現在會利用SurfaceContainerHighest
角色設定容器顏色。(I4dced)- 提升方塊現在可使用
SurfaceContainerLow
角色 (I7cd2f) DatePicker
容器顏色現在是SurfaceContainerHigh
。DatePickerDefaults.TonalElevation
現在是0.dp
。(Ida753)。- 更新底部窗格容器顏色和拖曳手柄顏色。(I72a0a)
RichTooltip
容器顏色現在為SurfaceContainer
。(Ia8b45)。SearchBar
容器顏色現在是SurfaceContainerHighest
。SearchBarDefaults.TonalElevation
現在是0.dp
。(I88604)。- 更新已停用和未選取的音軌/圖示,以便利用
SurfaceContainerHighest
顏色角色。(I7687a)。 AlertDialog
容器顏色現在為SurfaceContainerHigh
。(Ie0433)BottomAppBar
容器顏色現在為SurfaceContainer
。TopAppBar
onScroll
顏色現已改為SurfaceContainer
。(I41630)。ElevatedCard
容器顏色現在是SurfaceContainerLow
。FilledCard
的SurfaceContainerHighest
容器顏色。(I35141)ElevatedButton
容器顏色現在為SurfaceContainerLow
。未選取的FilledIconButton
現在有SurfaceContainerHighest
的容器顏色。(I792c9)。- 將
TimePicker
容器顏色和時鐘錶面顏色角色更新為SurfaceContainerHighest
。(I43b93)
1.3.0-alpha01 版本
2024 年 2 月 21 日
發布 androidx.compose.material3:material3-*:1.3.0-alpha01
。1.3.0-alpha01 版包含此連結所列的修訂項目。
新功能
- 更新 Compose M3
ModalBottomSheet
,以支援 U+ 上的預測返回功能 (Iccf32、b/281967264、b/304850357) - 更新 Compose M3
SearchBar
,以支援 U+ 上的預測返回手勢 (I657f8) - 更新滑桿,加入間距和停止指標,以改善無障礙體驗。(I3058e)
- 更新
ProgressIndicator
,新增間距和停止指標,以改善無障礙功能。(I21451) - 為多媒體工具提示新增預設插入符號,新的多媒體工具提示 API 可讓您在指定錨點
LayoutCoordinates
上繪製自訂插入符號。(Ifd42c)。
行為變更
- Material 元件已遷移至使用新的漣漪 API,且不再查詢
RippleTheme
。
API 變更
- 有趣的
drawStopIndicator
現已公開。(I3f59f) - 將
DatePicker
的formatWithSkeleton
函式標示為內部 (Ic65dc) DropdownMenu
現在支援自訂顏色、形狀、升降效果和邊框。(I8e981、b/289554448、b/301887035、b/283654243)- 在 API 中公開
MutableInteractionSource
的 Material3 元件已更新,現在會公開預設為null
的 nullableMutableInteractionSource
。這裡沒有語意變更:傳遞空值表示您不想提升MutableInteractionSource
,但如果需要,會在元件中建立MutableInteractionSource
。變更為空值後,部分元件就不會分配MutableInteractionSource
,而其他元件則只會在需要時才以延遲方式建立例項,進而提升這些元件的效能。如果您未使用傳遞至這些元件的MutableInteractionSource
,建議改為傳遞空值。建議您在自己的元件中進行類似變更。(I41abb、b/298048146)。 - 新增
RippleConfiguration
和LocalRippleConfiguration
,讓您可以使用固定值為每個元件 / 子樹形圖形自訂漣漪效果。舉例來說,您可以變更不受控元件的顏色,或停用元件的漣漪效果。在大多數情況下,應使用預設值:這些 API 是自訂個別元件 / 受限子樹狀結構的逃逸方法。對於更廣泛的變更和自訂設計系統,您應改用createRippleModifierNode
建構自己的漣漪。(I7b5d6、b/298048146)。 - 在 material3 中新增漣漪 API,取代已淘汰的
rememberRipple
。並新增暫時的CompositionLocal
LocalUseFallbackRippleImplementation
,將 Material3 元件還原為使用已淘汰的rememberRipple
/RippleTheme
API。這個選項會在下一個穩定版本中移除,僅適用於您提供自訂RippleTheme
的情況,用於暫時遷移。(I34cbc、b/298048146)。
修正錯誤
- 為改善效能,我們已移除
ModalBottomSheet
中的子組合。修正ModalBottomSheet
在特定情況下與LookaheadScope
搭配使用時可能會異常終止的問題。(I2a198) - 為改善效能,我們已移除
BottomSheetScaffold
中的子組合。修正BottomSheetScaffold
在特定情況下與LookaheadScope
搭配使用時會異常終止的問題。(Ie6401)。 - 徽章對齊方式已調整,以便更靠近錨定內容的中心,相對於右上角。(I18a28)
- 修正
DateRangePicker
的 a11y 問題,當中「月份-年份」文字標題會傳達給螢幕閱讀器、切換控制和語音存取功能使用者,讓他們可以採取行動。(I2ac55)。 - 修正
mediumTopAppBarColors
參數順序錯誤。(Ibe64a)
1.2 版本
1.2.1 版本
2024 年 3 月 6 日
發布 androidx.compose.material3:material3-*:1.2.1
。1.2.1 版包含這些修訂項目。
修正錯誤
- 讓滑桿狀態再次穩定。再次將
State.onValueChangeFinished
設為 val。將onValueChangeFinished
納入rememberUpdatedState
中。(Ie8fd0、b/322269951) - 由於我們將
state.onValueChangeFinished
變更為var
,因此從Slider
的狀態中移除@Stable
。(I82ba1、b/322269951)。 - 修正
NavigationBar
自訂顏色,以便從預設值複製。(80a779、b/326894020)。 - 修正
ExposedDropdownMenu
中的回歸問題,讓其再次可供聚焦 (3fcec1、b/323694447) - 修正按鈕顏色快取問題 (3e5bbcb/327371655)
1.2.0 版本
2024 年 2 月 7 日
發布 androidx.compose.material3:material3-*:1.2.0
。1.2.0 版包含此連結所列的修訂項目。
已知問題
PrimaryTabRow
中引入了 View-Compose 互通算繪的錯誤,這是效能改善變更的一部分。解決方法是使用TabRow
搭配TabRowDefaults.PrimaryIndicator
自 1.1.0 版以來的重要異動
新的 Material Design 3 元件
- 下拉更新
- 區塊按鈕
改善現有的 Material Design 3 元件。
- 底部應用程式列 (從右到左對齊,捲動時自動隱藏)
- 分頁視覺更新
- 徽章 (對齊更新)
將實驗性 API 升級為穩定版!
效能改善
- 詳情請參閱這篇網誌文章!
1.2.0-rc01 版本
2024 年 1 月 24 日
發布 androidx.compose.material3:material3-*:1.2.0-rc01
。查看 1.2.0-rc01 版的修訂項目。
修正錯誤
- 修正
mediumTopAppBarColors
參數順序錯誤。(Ibe64a)。 - 修正
CardDefaults.cardColors
中1.2.0-beta02
引入的錯誤,該錯誤會導致系統未根據containerColor
參數值更新contentColor
。(Iee041、b/319671246)。 - 修正
disabledContentColor
在1.2.0-beta02
中引入的錯誤,並加入小幅最佳化功能。(I6dda1、b/318428829)。
1.2.0-beta02 版
2024 年 1 月 10 日
發布 androidx.compose.material3:material3-*:1.2.0-beta02
。1.2.0-beta02 版包含此連結所列的修訂項目。
已知錯誤
IconButtonColors
中的錯誤會將disabledContentColor
預設為LocalContentColor
的 alpha (0.38f),而非使用者指定的contentColor
。解決方法是明確設定disabledContentColor
。我們將在下一個版本中修正這個問題。
API 變更
- 新增功能,可為 Plain
Tooltip
API 啟用工具提示反斜線。(Ibf767) SwipeToDismissState
、rememberSwipeToDismiss
和SwipeToDismissValue
都已重新命名為_SwipeToDismissBox_
。(I68d6d)
修正錯誤
- 修正
ListItem
結尾邊距值,使其符合規格。(Ibd68b、b/305342674) - 已正確將輪廓卡片的輪廓顏色對應至
OutlineVariant
。(I75480、b/310979715)。 - 動態色彩現在會從系統定義的色彩角色中擷取。這可改善無障礙內容的對比度,並讓動態色彩更貼近 Material 規格。I1de96
- 修正在
android:enableOnBackInvokedCallback="true"
時,Android T/13 以上版本的ModalBottomSheet
返回處理方式。(I728dc、b/306196110)。
1.2.0-beta01 版本
2023 年 12 月 13 日
發布 androidx.compose.material3:material3-*:1.2.0-beta01
。查看 1.2.0-beta01 版的修訂項。
API 變更
- 將
TabIndicatorScope
標示為實驗性質。(I45c88)。 - 移除工具提示的已淘汰實驗性 API。(I438cb)
- 變更新的
TabRow
超載,以便不使用子組合。這會導致以自訂修飾符建立TabRow
指標的方式有所不同。(Ife741) - 淘汰
DismissDirection
和DismissValue
API。這些值已合併至SwipeToDismissValue
,其值會指出SwipeToDismissBox
的位置和方向。DismissState.progress
現已標示為0.0
和1.0
之間的FloatRange
。DismissState
已淘汰的 Saver 和 Constructor 現已移除。SwipeToDismiss
元件、狀態和預設物件已標示為實驗功能。(Ib54f2)
修正錯誤
PullToRefresh
的預設指標現在是開放式箭頭,而非實心三角形。(I67be3)。
1.2.0-alpha12 版本
2023 年 11 月 29 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha12
。1.2.0-alpha12 版本包含以下修訂項目。
API 變更
RangeSlider
現在會採用 Kotlin 範圍 (例如0f..1f
),而不是自訂FloatRange
值類別。SnapFlingBehavior.kt
現在也使用 Kotlin 範圍。(I025cb)。- 將 Modifier 工廠函式標示為
@Stable
。(Ib109f)
1.2.0-alpha11 版本
2023 年 11 月 15 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha11
。1.2.0-alpha11 版本包含以下修訂項目。
新功能
- 實作
PullToRefreshContainer
和PullToRefreshState
,這兩者共同在 Material3 中提供下拉式重新整理功能。(I16456、b/261760718)。
API 變更
- 將
SwipeToDismissBox
DismissDirection
和DismissValue
標示為實驗性質。(I517b0)。 - 將
SwipeToDismiss
重新命名為SwipeToDismissBox
。將background
重新命名為backgroundContent
,並將dismissContent
重新命名為結尾的content
lambda。(I7f4d3) - 將
ChipElevation
和SelectableChipElevation
的建構函式設為公開。(Ie0c48、b/308432421) - 新增
ModalBottomSheetProperties
。將securePolicy
移至ModalBottomSheetProperties
。將isFocusable
和shouldDismissOnBackPress
新增至ModalBottomSheetProperties
。這些新的布林值有助於判斷模態底部選單應如何處理 IME 事件。(Iea56f、b/278216859)。 - 更新
RangeSlider
和Slider
狀態,移除initialOnValueChange
、初始前置字串和相關的 kdoc。(I57d30)。 - 已淘汰
ChipBorder
類別及其相關函式呼叫,建議改用BorderStroke
。(I89cc2) - Foundation 工具提示 API 現已更名為
@ExperimentalFoundationApi
。(I30b0b) TabRow
和ScrollableTabRow
已不再淘汰。新的「主要」和「次要」變化版本已標示為實驗功能。(I0def6)。- 篩選器和輸入方塊現在會直接使用
BorderStroke
。(I07a8d) SegmentedButton
現在會直接使用BorderStroke
。(I89b9b)- 將泛型
AlertDialog
函式重新命名為BasicAlertDialog
,並淘汰先前的函式。(Idbe52)。 - 將
SwipeToDismiss
API 重新命名為SwipeDismiss
,並將新的SwipeDismiss
API 升級為穩定版。(I14cbe) - 將
tonalElevation
和shadowElevation
新增至工具提示 API。此外,由於TooltipBox
、PlainTooltip
和RichTooltip
API 不小心發布為穩定版,因此我們將其移回實驗版。(If0f66、b/293939035)。 - 將實驗性方塊 API 升級為穩定版。(Iea2c3)
- 已從 Material3 可點選的資訊卡中移除
@ExperimentalMaterial3Api
註解。(I88dbf)。
修正錯誤
- 修正在某些情況下,
SwipeToDismiss
會在巢狀的 Lookahead 和 Lazy 版面配置中異常終止的問題。(Ica8d1、b/297226562)。
1.2.0-alpha10 版本
2023 年 10 月 18 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha10
。1.2.0-alpha10 版本包含以下修訂項目。
API 變更
- 將
Badge
和BadgedBox
升級為穩定版。(I67f16、b/261565132)。 - 將
securePolicy
新增為ModalBottomSheet
的參數,方便使用者定義WindowManager.LayoutParams.FLAG_SECURE
的行為。(Icdac8、b/296250262)。 - 新增
LinearProgressIndicator
和CircularProgressIndicator
的超載,將progress
做為 lambda。這些版本的效能應優於先前版本。(I824e6、b/295616656) - 將
StandardSizeClasses
重新命名為AllSizeClasses
。(I8cb07) - 合併視窗大小類別的計算函式。(Iad935)
修正錯誤
- 修正當顯示月份位於允許的年份範圍邊緣時,快速點選導覽箭頭按鈕會導致
DatePicker
當機的問題。(I46f36、b/290954897、b/297002119)。 - [Nav rail/bar] 支援指標的透明色彩。(Ie0a9b、b/267289987)。
1.2.0-alpha09 版本
2023 年 10 月 4 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha09
。1.2.0-alpha09 版本包含以下修訂項目。
API 變更
- 已遷移
ModalNavigationDrawer
和DismissibleNavigationDrawer
,以便使用新的AnchoredDraggable
API。DrawerState
的animateTo
已由 open 和 close 方法取代,且偏移值現在會以浮點值而非狀態物件公開。您可以直接透過currentOffset
存取偏移量。(I0a72c) - 我們新增了非可組合函式,可直接建立
DatePickerState
和DateRangePickerState
。這些函式可用於取代可組合函式rememberDatePickerState
和rememberDateRangePickerState
。(I70326、b/291524052)。 - 固定和可捲動的
TabRows
現在有主要和次要變化版本。這些項目會正確對應至 Material3 中定義的顏色和指標行為。 PrimaryScrollableTabRow
和SecondaryScrollableTabRow
現在會公開捲動狀態。(Iec8f5、b/260572337)。- 新增
sheetMaxWidth
參數,開發人員可以設定該參數,指定工作表的最大寬度。如果您想要建立橫跨整個螢幕寬度的試算表,可以將 Dp.Unspecified 傳遞至參數。(Ifb7c9、b/266697696)。 - 將
PlainTooltipBox
和RichTooltipBox
API 重新加入為已淘汰的方法。(I246fa)
修正錯誤
- 修正當
DatePicker
使用具有特定日期骨架的DatePickerFormatter
進行初始化時,在轉換為日期模式 (例如 YY) 時會導致當機的問題。(I01f29)。
1.2.0-alpha08 版
2023 年 9 月 20 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha08
。查看 1.2.0-alpha08 版的修訂項。
行為破壞性變更
ColorScheme
現已為不可變動,因此個別色彩更新的效率會降低,但常見的色彩用法效率會提高。這項異動的原因是,大多數應用程式不會將更新個別顏色做為主要用途。這仍有可能,但會比先前重組更多,進而大幅減少 Material 程式碼中的狀態訂閱數量,並影響更多標準用途的初始化和執行階段成本。(Ic447d、b/297212873)。- Tonal Elevation 不再根據規格在不同互動狀態下顯示動畫 (Icdd12)。
API 變更
- 新增
BottomAppBar
,並將BottomAppBarScrollBehavior
做為參數,以便在捲動內容時自動隱藏。此外,我們也新增了FabPosition.EndOverlay
,讓 FAB 在結構體中疊加底部應用程式列,而非固定在其上方。(Iecb47)。 - 新增了一個簡單的 Label 元件,該元件會在
BasicTooltipBox
上方建構,在輕觸標籤邊界外時不會關閉。(I821f9)。
修正錯誤
- 移除使用
rememberSaveable
的工具提示。(Icc131、b/299500338)。 - 引入臨時標記,用於控制 Scaffold 應在測量期間還是放置期間測量子項。根據預設,這項功能會在評估中進行評估。如果您在使用新行為時遇到問題,請回報問題。(I0b354)。
- 使用裝置螢幕寬度的正確測量值,在
BottomSheet
中固定水平邊緣到邊緣。(I1df0c、b/299058752) - 修正在下拉關閉工作表時,
ModalBottomSheet
不會呼叫onDismissedRequest
的錯誤。(Idfdd8)。
1.2.0-alpha07 版
2023 年 9 月 6 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha07
。查看 1.2.0-alpha07 版的修訂項。
新功能
compose material 1.6.0-alpha05
已新增自動鏡像圖示支援功能,請參閱版本說明,瞭解自動鏡像圖示的詳細資訊。
API 變更
SliderState
實作DraggableState
(I9b116)- 將形狀變更為必要參數。在形狀輔助函式中,將
position
重新命名為index
。(I34941) - 更新
DatePicker
formatWithSkeleton
,加入用於改善效能的快取地圖。(I3195f)。 - 將
BasicTooltipBox
新增至compose.foundation
,並更新PlainTooltipBox
和RichTooltipBox
,以便使用TooltipBox
和新的PlainTooltip
和RichTooltip
可組合函式。(I79e1d)
修正錯誤
dynamicLightColorScheme
和dynamicDarkColorScheme
現在會為表面和surfaceContainer
角色傳回較高彩度的顏色。(I5e901)。- 修正問題:部分元件在
LookaheadScope
內的 Scaffold 中使用子組合 (例如BottomSheetScaffold
),但嘗試讀取其大小的時間過早。(I297b4、I871f1、b/295536718)。
1.2.0-alpha06 版本
2023 年 8 月 23 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha06
。查看 1.2.0-alpha06 版的修訂項目。
修正錯誤
- 修正
DropdownMenu
的offset
計算方式,讓 x 偏移值只取決於本機版面配置方向,且當選單位於螢幕底部附近時,y 偏移值就不會再反轉。(Iccc74、b/294103942)。 - 修正
DropdownMenu
的offset
計算,讓 x 偏移值只取決於本機版面配置方向,且當選單位於畫面底部時,y 偏移值就不會再反轉。(Ib87a2、b/294103942)。
1.2.0-alpha05 版本
2023 年 8 月 9 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha05
。查看 1.2.0-alpha05 版的修訂項目。
API 變更
- 已更新核取方塊和
TriStateCheckbox
的顏色。CheckboxDefaults.colors()
disabledUncheckedColor
現在只會影響核取方塊的邊框。在特定情況下,您需要在停用和未勾選時設定內部方塊顏色,這時就需要使用自訂建構的CheckboxColors
例項,並設定所需的顏色值。(I77d17、b/291943198)。
1.2.0-alpha04 版本
2023 年 7 月 26 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha04
。1.2.0-alpha04 版包含此連結所列的修訂項目。
新功能
- 實驗性區隔按鈕 API (Ifc8fb)
- 分隔符現在有參數可控制方向,以便支援垂直分隔符。(I4c899、b/288438593)。
API 變更
- 我們會將密度依附元件移至元件層級。這項規定適用於下列元件:
SwipeToDismiss
和以工作表為基礎的元件。請在密度為參數的情況下,使用提供的新超載。(I1846e)。 - 額外註解,用於指定可對可組合項輸入的內容 (Ief234)
- 請在分割按鈕中加入圖示參數,並分割語義,以便分割按鈕可透過
SelectableSegmentedButtonRow
和ToggelableSegmentedButtonRow
分別實作單選和多選功能。(I38740)。 - 分隔符已重新命名為
HorizontalDivider
。新增VerticalDivider
功能。(I5975c)。 - 在實驗版 Material3 API 中,將
ClosedFloatingPointRange
的用途改為較輕量的FloatRange
,以盡量減少自動裝箱。(I4aab5)。 - 為
FabPosition
新增了新的 Start 對齊方式 (Ib7aea、b/170592777)
修正錯誤
ModalBottomSheet
會遵循當地版面配置方向。(Ib4f44、b/285628622)。
1.2.0-alpha03 版本
2023 年 6 月 21 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha03
。查看 1.2.0-alpha03 版的修訂項。
行為變更
- 在 Material 3 字體排版中,
includeFontPadding
的預設值現在為false
。預設的行高樣式也已變更為Trim.None
和Alignment.Center
,並在Typography
的TextStyle
中加入明確的lineHeight
(以 sp 為單位)。如要自訂這些值,請參閱 API 說明文件,並查看這篇網誌文章,深入瞭解這些變更。(I6266f、Icabc3)
新功能
- 為
RangeSlider
新增超載,這是元件的有狀態版本。建立RangeSliderState
,用於儲存目前活動追蹤的所有資訊、RangeSlider
元件的測量值,以及拖曳和手勢邏輯。(I8c270) - 搜尋列現在可透過新增的
shadowElevation
參數支援陰影。(Ia5369、b/271040353)。 ColorScheme
現在支援新的SurfaceContainer
角色。- 您現在可以使用
LocalTonalElevationEnabled
本機組合,停用表面色調高程疊加。(Ic203c、b/277774590)。
API 變更
- 開啟元件色彩建構函式。(I8c4a6)
- 在兩個工具提示 API 中新增可聚焦的參數,讓開發人員決定工具提示是否要使用觸控事件。請注意,這可能會導致輔助工具焦點自動瀏覽功能失效。(Ie32d8)
- 針對效能和記憶體配置進行最佳化調整。(Iede48)。
- 為
WindowSizeClasses
公開DefaultSizeClasses
並建立StandardSizeClasses
(I91838) - 將
WindowWidth/HeightSizeClass
變更為浮點值類別 (Ie686e)
修正錯誤
- Scaffold 的
contentWindowInsets
參數現在會尊重已消耗的視窗插入點。請注意,如果提供這些參數,以topBar
和bottomBar
為依據的內容邊框行為將保持不變。(I08b73、b/264601542)。 - 修正頂端中央應用程式列的對齊方式,確保長標題不會顯示在動作圖示或導覽圖示上方。(I4369f、b/236994621)。
- 分頁位置現在會強制執行至少 24.dp 的內容寬度。這可為分頁標示器提供無障礙的觸控目標。(Id8861)。
dynamicLightColorScheme
和dynamicDarkColorScheme
的動態色彩調色盤現在支援新的表面角色。(I1252e)- 更新徽章通知對齊方式,以便在與祖父祖母衝突時不會遭到裁剪。(Idf75a)。
1.2.0-alpha02 版本
2023 年 5 月 24 日
發布 androidx.compose.material3:material3-*:1.2.0-alpha02
。1.2.0-alpha02 版包含此連結所列的修訂項目。
API 變更
- 將視窗內嵌參數新增至
ModalBottomSheet
。ModalBottomSheet
的遮罩現在可能會在windowInsets
設為零的情況下,繪製在狀態列後方- 更新預設
ModalBottomSheet
功能,讓導覽等系統列保持在系統列之外 - 在邊緣對齊模式下,拖曳手柄會提供狀態列內嵌處理。
BottomSheetDefaults
包含BottomSheetWindow
的視窗插邊。(I31200、b/274872542、b/272973615、b/272334475、b/268432129、b/275849044、b/275486106、b/268433162)。
- 淘汰
Indicator
,並新增Primary
/SecondaryIndicator
以符合 M3 規格。PrimaryIndicator
會與分頁內容的寬度相符,而SecondaryIndicator
則會跨越可用的完整寬度。SecondaryIndicator
等同於已淘汰的Indicator
,可直接取代。(I27604)。 - 新增選項,可在建構
DropdownMenu
或ExposedDropdownMenu
時傳入ScrollState
,用於控制顯示的選單項目垂直捲動狀態。(Ia0734、b/185304441)。 - 為
Slider
新增超載,這是元件的有狀態版本。建立SliderState
,用於儲存目前活動追蹤的所有資訊、Slider
元件的測量值,以及拖曳和手勢邏輯。(I124a5)。 - 將語意屬性
isContainer
重新命名為isTraversalGroup
(I121f6) - 新增經過最佳化的
TextStyle.merge(...)
,並提供完整的參數清單。(Iad234、b/246961787)。 - 將
TooltipState
、RichTooltipState
和PlainTooltipState
設為公用介面。新增RichTooltipStateImpl
和PlainTooltipStateImpl
做為預設狀態。新增remember*State
函式,以便取得這些已實作的狀態。已移除TooltipSync
,改用TooltipDefault.GlobalMutatorMutex
。(I7813d)。 - 更新
DatePickerColors
,納入日期挑選器分隔線、導覽和文字輸入欄位顏色的其他自訂選項。(I1a685、b/274626815)。 DatePickerState
和DateRangePickerState
現已是公開介面,內含預設實作項目,可由rememberDatePickerState
和rememberDateRangePickerState
擷取。(I71c52)。- 從
DatePicker
和DateRangePicker
移除dateValidator
,並引入可在狀態上設定的SelectableDates
介面,以便控制在 UI 中可選取的日期或年份。(Ic2fc6)。 TimePicker
已從穩定版 API 中移除,狀態 API 預計會進一步變更 (I3f39a)ModalBottomSheet
已移至 Android 專用。不建議在電腦上使用ModalBottomSheet
,且我們不會積極維護這項功能。(Ib3778)
修正錯誤
- 修正
AlertDialog
關閉動作,當動作堆疊在對話方塊的寬度內時,會顯示在確認動作下方。這項修正可讓實作項目符合 Material Design 規格。(I029de、b/235454277) - 修正
ListItem
使用三行項目錯誤邊距的錯誤。(I6e235) ModalBottomSheet
現在可以顯示 IME 鍵盤 (Idc508、b/262140644、b/268380384、b/272483584)
1.2.0-alpha01 版本
2023 年 5 月 10 日
發布 androidx.compose.material3:material3:1.2.0-alpha01
和 androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
。1.2.0-alpha01 版本包含以下修訂項目。
1.1 版本
1.1.2 版本
2023 年 9 月 20 日
發布 androidx.compose.material3:material3:1.1.2
和 androidx.compose.material3:material3-window-size-class:1.1.2
。1.1.2 版包含以下修訂項目。
修正錯誤
- 修正了調節器錯誤地傳遞至兩個可組合項的問題。(b/282761472)
- 修正
TimePickerState
在以 23 小時初始化時傳回不正確小時的問題。(b/278242122)。 - 修正午夜和分鐘驗證的初始切換狀態。(b/269768197、b/282790635)。
- 修正
state.hour
在 11 點傳回錯誤值的問題。(b/282761472、b/278242122)
1.1.1 版
2023 年 6 月 21 日
發布 androidx.compose.material3:material3:1.1.1
和 androidx.compose.material3:material3-window-size-class:1.1.1
。1.1.1 版本包含以下修訂項目。
修正錯誤
- 為二進位檔相容性,新增
ModalBottomSheet
的呼叫,但不含windowInset
參數。(Ib7959) - 將視窗內嵌參數新增至
ModalBottomSheet
。ModalBottomSheet
的遮罩現在可能會在windowInsets
設為零的情況下,繪製在狀態列後方- 更新預設
ModalBottomSheet
功能,讓導覽等系統列保持在系統列之外 - 在邊緣對齊模式下,拖曳手柄會提供狀態列內嵌處理。
BottomSheetDefaults
包含BottomSheetWindow
的視窗插邊。(I31200、b/274872542、b/272973615、b/272334475、b/268432129、b/275849044、b/275486106、b/268433162)。
1.1.0 版本
2023 年 5 月 10 日
發布 androidx.compose.material3:material3:1.1.0
和 androidx.compose.material3:material3-window-size-class:1.1.0
。1.1.0 版本包含以下修訂項目。
1.1.0 的主要功能
新的 Material Design 3 元件
改善現有的 Material Design 3 元件。
將實驗性 API 升級為穩定版!
詳情請參閱這篇網誌文章!
1.1.0-rc01 版本
2023 年 4 月 19 日
發布 androidx.compose.material3:material3:1.1.0-rc01
和 androidx.compose.material3:material3-window-size-class:1.1.0-rc01
。1.1.0-rc01 版包含此連結所列的修訂項目。
API 變更
TimePicker
已從穩定版 API 中移除,狀態 API 預計會進一步變更 (I3f39a)ModalBottomSheet
已移至 Android 專用。不建議在電腦上使用ModalBottomSheet
,且我們不會積極維護這項功能。(Ib3778)
1.1.0-beta02 版
2023 年 4 月 5 日
發布 androidx.compose.material3:material3:1.1.0-beta02
和 androidx.compose.material3:material3-window-size-class:1.1.0-beta02
。1.1.0-beta02 版本包含以下修訂項目。
API 變更
SheetState
現在有選用的skipHiddenState
參數rememberStandardBottomSheetState
現在有選用的skipHiddenState
參數BottomSheetScaffold
現已定義隱藏錨點,但預設為停用SheetState.requireOffset
說明文件已更新BottomSheetDefaults.MinimizedShape
已重新命名為BottomSheetDefaults.HiddenShape
(I839f4、b/273870234)
修正錯誤
- 啟用輕觸探索功能時,請勿將錶面從小時切換至分鐘。(I717d0)
ModalBottomSheet
和BottomSheetScaffold
拖曳手柄語意現已合併。(I05afb)。BottomSheetScaffold
修飾符、containerColor
和contentColor
參數現在只會影響內容。(I992cb)- 工作表內容的
BottomSheetScaffold nestedScroll
現在會實作 fling。(I992cb)
1.1.0-beta01 版本
2023 年 3 月 22 日
發布 androidx.compose.material3:material3:1.1.0-beta01
和 androidx.compose.material3:material3-window-size-class:1.1.0-beta01
。1.1.0-beta01 版本包含以下修訂項目。
API 變更
- 將版面配置類型參數新增至
TimePicker
可組合函式。可根據螢幕設定使用不同的版面配置 (Ia0e16) SearchBarDefaults
已標示為實驗功能。(I65561)。- 在
BottomSheetScaffold
中新增陰影高度 (I94e0f) - 新增支援不含標頭部分的日期挑選器顯示功能。API 變更,可在建立日期挑選器時傳遞空值標題。您現在可以傳遞空值標題、標題和
showToggleMode = false
,以便顯示無頭挑選器。(Id3f3a、b/266132421、b/267194809)。
修正錯誤
- 搜尋列現在會在閒置時自動取消聚焦。(I22a7c、b/261444487)。
- 更新
DateRangePicker
,讓您可以選取開始和結束日期相同的範圍。(I16529、b/272882497)。 - 當字型大小小於預期時,文字欄位現在會正確放置文字元素。這可能會導致應用程式根據字型設定和文字變更幾個像素。(I8b8d0)。
- 底部功能表的語意動作現在有標籤。(I277b0)
1.1.0-alpha08 版本
2023 年 3 月 8 日
發布 androidx.compose.material3:material3:1.1.0-alpha08
和 androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
。1.1.0-alpha08 版包含此連結所列的修訂項目。
新功能
- 新增對
BottomSheetScaffold
和BottomSheetScaffoldState
的支援。(I063d4)。
API 變更
- 在
DatePickerState
和DateRangePickerState
中新增功能,讓您在初始建立狀態後設定日期,以及透過設定空值時間戳記來重設選項。請謹慎手動設定日期,如果提供的日期不符合先決條件,新的setSelection
函式就會擲回例外狀況 (請參閱說明文件)。(Ifa645、b/268609314、b/270427389)。 - 將「已收合」的
SheetValue
重新命名為PartiallyExpanded
,以更準確且靈活的方式呈現這個狀態的行為。(Ia1491) - 將
ListItem
參數名稱更新為 _content,而非 _text。預設 getter 現在會在相關情況下使用ReadOnlyComposables
。(I69a25)。 - 將互動式 Surface API 從實驗功能升級。(I90d59、b/261561812)。
修正錯誤
- 修正
ModalBottomSheet
的HalfExpanded
狀態未正確計算,且工作表似乎會浮動的問題 (I45e84、b/268411386)。 - 為
ModalBottomSheet
新增confirmValueChange
檢查畫面遮罩輕觸動作。(I2311a、b/270425759)。 - 將語意
BottomSheet
動作移至拖曳手柄。(I158ba) ModalBottomSheet
現在會在啟動時指示焦點,並處理返回按鈕。(I4d2ab)ModalBottomSheet onDismissRequest
現在也會在巢狀捲動時處理。(I655c5、b/268433166)。
1.1.0-alpha07 版本
2023 年 2 月 22 日
發布 androidx.compose.material3:material3:1.1.0-alpha07
和 androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
。1.1.0-alpha07 版包含以下修訂項目。
新功能
- 新增可與
rememberTimePickerState()
搭配使用的 Time Input 可組合項,該可組合項會遵循 M3 規格進行時間輸入 (Ia4fab) - 新增 Material 3
DateRangePicker
API,用於選取日期範圍。(I7a6c3、b/267194809)。 - 新增 Material 3 輸入模式支援,可透過
DateRangePicker
API 選取日期範圍。(Ifdbc4) - 文字欄位顏色現在可自訂:
- 輸入欄位和預留位置文字顏色,取決於焦點和錯誤狀態。
textColor
參數已重新命名為unfocusedTextColor
,placeholderColor
則已重新命名為unfocusedPlaceholderColor
。 - 根據錯誤狀態和新的
errorContainerColor
參數,為填入文字欄位的容器指定顏色。
- 輸入欄位和預留位置文字顏色,取決於焦點和錯誤狀態。
- 我們已更新曝露的下拉式選單文字欄位顏色,並加入參數,以支援新的前置字串和後置字串 API。(I9c8b4、b/254284181、b/264766350)。
API 變更
- 回復部分 Slider API 版本,並移除由新的實驗性 Slider 所涵蓋的多餘 Slider 超載,其中包含自訂 Thumb 和 Track。將
RangeSlider
升級為穩定版。(Ie8fbd)。 - 已將方塊的升降函式中的
defaultElevation
重新命名為elevation
。(I0f872)。 - 下列 Material 3 文字欄位 API 不再是實驗性 API:
TextField
、OutlinedTextField
、textFieldWithLabelPadding
、textFieldWithoutLabelPadding
、outlinedTextFieldPadding
。(Ieb5c0、b/261561819)。 TimePickers
is24Hour
使用系統設定 (I18856)- 從結構體 API 中移除實驗性註解。(Ibb51e、b/261565765、b/261436953)。
修正錯誤
ModalBottomSheet
的預設形狀現在一律為SheetDefaults.ExpandedShape
。(I0dfca)。- 改善 Material 3
DatePicker
和DateRangePicker
的無障礙功能。(I5087e)。 - 修正傳播最大高度限制且可能導致異常終止的錯誤。(I30d8c)
- 從可點選和可選取的介面移除語意角色,並更新使用這些角色的元件,以便使用 modifier.semantics 設定角色 (I793d9)
1.1.0-alpha06 版本
2023 年 2 月 8 日
發布 androidx.compose.material3:material3:1.1.0-alpha06
和 androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
。1.1.0-alpha06 版本包含以下修訂項目。
新功能
- 文字欄位現在支援前置文字和後置文字 (Ia8578、b/179884561)
- 新增
TimePicker
函式,可與TimePickerState
和便利方法rememberTimePickerState
搭配使用,在顯示 Material 3 規格後接著提供時間挑選器 (I71910) - 日期輸入現在是
DatePicker
的顯示模式。新增對切換動作的支援,讓使用者在日期挑選器與日期輸入模式之間切換 (Ieeff7)。 - 新增
RichTextTooltips
的 API (I58ef3)。 - 實作 Material 3 的強制回應底部功能表,包括
ModalBottomSheet
和ModalBottomSheetDefaults
,並同時推出SheetState
和rememberSheetState
(可用於日後的功能表元件 (I0853a、b/244189383)
API 變更
- 調整 API
showSnackbar
的穩定性 (I195c2、b/261424370) - 調整輔助方塊和建議方塊的 API 穩定性 (Ibb67b、b/261424370)
- 將
ListItem
、ListItemDefaults
和ListItemColors
API 升級為非實驗 API (I7e7fa、b/261438882) - 將
SliderPositions
、SliderDefaults.Thumb
和SliderDefaults.Track
升級為穩定版,新增內含自訂指標及測試群組的非實驗Slider
和RangeSlider
API,以及淘汰先前的Slider
和RangeSlider
API (Ie5ea6、b/261566890)。 - 將
Modifier.tooltipAnchor()
設為公開,讓開發人員能夠將其傳送到錨定標記,藉此指明使用者長按時要顯示的工具提示。我們還更新了PlainTooltipBox
API,TooltipState
現在不得為空值且會有預設值 (Ie2fb7)。 - 將
ProgressIndicatorDefaults.circularTrackColor
標示為@Composable
,以便保持一致 (Id29cc) - 還原屬性 getter
LocalMinimuTouchTargetEnforcement
並標示為已淘汰,然後重新導向至LocalMinimumInteractiveComponentEnforcement
(I60dd5)
1.1.0-alpha05 版本
2023 年 1 月 26 日
發布 androidx.compose.material3:material3:1.1.0-alpha05
和 androidx.compose.material3:material3-window-size-class:1.1.0-alpha05
。查看 1.1.0-alpha05 版的修訂項。
新功能
DatePickerDialog
和無障礙功能支援- 將自訂指標和測試群組新增至
RangeSlider
依附元件更新
Compose UI
和Compose Material
現在依附於 Lifecycle 2.6.0。
1.1.0-alpha04 版本
2023 年 1 月 11 日
發布 androidx.compose.material3:material3:1.1.0-alpha04
和 androidx.compose.material3:material3-window-size-class:1.1.0-alpha04
。1.1.0-alpha04 版本包含以下修訂項目。
新功能
- 推出可透過日曆 UI 選擇單一日期的初始
DatePicker
API。我們仍會對這個 API 進行變更 (I722b9) - 透過
PlainTooltipBox
新增對純工具提示的支援 (I0cdfb) - 推出搜尋列 (Iad128)
- 推出
SwipeToDismiss
(I458a8、b/242889540)
API 變更
- 在 Surface 上新增
IsContainer
語意屬性。這項屬性會在日後的變更中用到,屆時我們會根據 surfaces 等元素的語意含義來決定周遊順序 (I63379) - 將導覽匣相關 API 標示為穩定版。(Iab01e、b/261439597)
- 為圓形進度指標新增軌跡色彩參數,並為圓形和線性進度指標新增筆劃上限參數 (Ie668c、b/216325962、b/222964817)
- 針對已淘汰的隱藏函式,提供更多傳回類型的「是否可為空值」屬性。(Ibf7b0)
- 新增
Modifier.minimumInteractiveComponentSize
。這可用於保留至少 48.dp 的大小,在元素的測量尺寸較小時減少觸控互動 (I33f58、b/258495559)。 - 針對含有內容版位的
AlertDialog
可組合項新增了實驗性 API。(Iec4a2)
修正錯誤
- 進度指標的進度現在不會超過預期範圍限制。(I8a7eb、b/262262727)。
已知問題
- 從
androidx.compose.foundation:1.4.0-alpha03
更新為androidx.compose.foundation:1.4.0-alpha04
時,您可能會遇到java.lang.NoSuchFieldError
錯誤,這個網頁是最初回報問題的地方。我們已提交修正程式,預計下次 Compose 更新時就會發布。目前暫時性的解決方法是將androidx.compose.material
和androidx.compose.material3
程式庫更新為最新版本 (1.1.0-alpha04),或將androidx.compose.foundation
降級為 1.4.0-alpha03。
1.1.0-alpha03 版本
2022 年 12 月 7 日
發布 androidx.compose.material3:material3:1.1.0-alpha03
和 androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
。查看 1.1.0-alpha03 版的修訂項。
API 變更
- 已將
consumedWindowInsets()
重新命名為consumeWindowInsets()
,將withConsumedWindowInsets()
重新命名為onConsumedWindowInsetsChanged()
,並將 Modifier 設為公開。(Ie44e1) - 為使用圖示的文字按鈕新增預設內容邊框間距。(I8f662)
- 為導覽列和邊欄新增停用的顏色。(Ia7892、b/258867034)
- 新增用於查詢祖系捲動資訊的 Modifier API。(I2ba9d、b/203141462)
- 如果手勢可能產生捲動事件,用在
Clickable
中可正確延遲按下的互動動作。 - 修正了在
Scrollable ViewGroup
中使用Clickables
時無法正確延遲漣漪效果的問題。 - 更新 Drawer 和 Sheet,以便在手勢可能變成捲動事件時正確延遲按下動作。
依附元件更新
Compose UI
和Compose Material
現已依附於 Lifecycle 2.5.1。(I05ab0、b/258038814)
1.1.0-alpha02 版本
2022 年 11 月 9 日
發布 androidx.compose.material3:material3:1.1.0-alpha02
和 androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
。查看 1.1.0-alpha02 版的修訂項。
API 變更
awaitFirstDown
和waitForUpOrCancellation
現在接受PointerEventPass
,以增加彈性 (同時修正捲動時ExposedDropdownMenuBox
顯示選單)。(I7579a、(b/212091796))- 在 material 和 material3 文字、
TextField
和OutlinedTextField
中新增minLines
參數,以便能夠以行數來設定元件的最小高度 (I4af1d) - 淘汰
TopAppBarDefaults smallTopAppBarColors
函式,在建立TopAppBar
時應使用的新的topAppBarColors
函式。(Ie6cb9) - 在
BasicText
和BasicTextField
中新增minLines
參數。這樣即可針對行數來設定這些可組合項的最小高度 (I24294、b/122476634)
修正錯誤
- 將 Material3
IconButton
和IconToggleBotton
的內容剪輯為元件的狀態層形狀 (例如圓形)。(I9da8f) - 更新 Material3 中型和大型頂端應用程式列,即可在其整個介面上套用相同的背景顏色,並允許進行以透明色值覆寫預設顏色的設定。(I67659、b/249688556、b/250838918)
1.1.0-alpha01 版
2022 年 10 月 24 日
發布 androidx.compose.material3:material3:1.1.0-alpha01
和 androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
。查看 1.1.0-alpha01 版的修訂項。
修正錯誤
- 修正用 TextStyle 和 Brush 套用標題時的頂端應用程式列。(If667e)
1.0 版
1.0.1 版
2022 年 11 月 9 日
發布 androidx.compose.material3:material3:1.0.1
和 androidx.compose.material3:material3-window-size-class:1.0.1
。查看 1.0.1 版的修訂項。
修正錯誤
- 更新 Material3 中型和大型頂端應用程式列,即可在其整個介面上套用相同的背景顏色,並允許進行以透明色值覆寫預設顏色的設定。(I67659、b/249688556、b/250838918)
1.0.0 版
2022 年 10 月 24 日
發布 androidx.compose.material3:material3:1.0.0
和 androidx.compose.material3:material3-window-size-class:1.0.0
。查看 1.0.0 版的修訂項。
1.0.0 的主要功能
這是 Compose Material 3 的第一個穩定版本!
Material Design 3 主題設定和 Material You 動態顏色
Material Design 3 元件
- 徽章
- 底部應用程式列
- 按鈕
- FAB 和 延伸的 FAB
- 資訊卡
- 核取方塊
- 方塊
- 對話方塊
- 分隔線
- 下拉式選單
- 清單
- 導覽列
- 導覽匣
- 導覽邊欄
- 進度指標
- 圓形按鈕
- 滑桿
- 切換鈕
- 分頁
- 文字欄位
- 頂端應用程式列
- 圖示
- 文字
- 途徑
- 版面配置
- 內容顏色
視窗大小類別
material3-window-size-class
是一個新程式庫,能夠支援視窗大小類別,也就是一組一致認可的可視區域中斷點,可讓您設計、開發及測試可調整大小的應用程式版面配置。您可以使用calculateWindowSizeClass
擷取視窗大小類別執行個體,以用於決定使用者介面的顯示方式,例如,以較大的視窗大小顯示導覽邊欄,而非底部導覽列。如需更多資訊和用途範例,請參閱WindowSizeClass
的 API 參考資料說明文件。詳情請參閱這篇網誌文章!
1.0.0-rc01 版
2022 年 10 月 5 日
發布 androidx.compose.material3:material3:1.0.0-rc01
和 androidx.compose.material3:material3-window-size-class:1.0.0-rc01
。查看 1.0.0-rc01 版的修訂項。
API 變更
- 新增了支援文字到文字欄位 API 的運算單元參數 (Iaac0d、b/227146125)
1.0.0-beta03 版
2022 年 9 月 21 日
發布 androidx.compose.material3:material3:1.0.0-beta03
和 androidx.compose.material3:material3-window-size-class:1.0.0-beta03
。查看 1.0.0-beta03 版的修訂項。
API 變更
ExposedDropdownMenuDefaults
現在會顯示選單項目的邊框間距值 (I34ee1)ExposedDropdownMenuBoxScope
現在有Modifier.menuAnchor()
修飾符,此修飾符應會傳遞給文字欄位,以便提供適當的 a11y 行為。(I27fa3)- 為目前的 Slider API 新增兩個超載方法,可讓使用者傳遞指標或軌跡來填入滑桿。(I21c00)
修正錯誤
- 將 On Error 容器的深色主題對應更新為色調 90 (Ic5612)
- 修正以下問題:允許為小型 Material 3 頂端應用程式列設定透明背景。(I645e2、b/245575782)
1.0.0-beta02 版
2022 年 9 月 7 日
發布 androidx.compose.material3:material3:1.0.0-beta02
和 androidx.compose.material3:material3-window-size-class:1.0.0-beta02
。查看 1.0.0-beta02 版的修訂項。
API 變更
- 在 beta01 版中,m3 元件引入的預設元件插邊不再納入 IME 插邊。
- Material3 Scaffold 元件現在擁有
contentWindowInsets
參數,可指定要為內容版面處理的插邊數量。(Icf11a、b/243713323) - 淘汰實驗性 Material 3
SmallTopAppBar
函式,並引入同等TopAppBar
函式。請將使用方式遷移至新的函式。(I74404、b/226918634) - 新增對頂端應用程式列快速滑過和貼齊行為的控制項。(I15c81)
- 從 Divider 中移除 startIndent,將顏色移至最後一個參數。(If7be2)
修正錯誤
- 讓對話方塊在顯示時通知字詞 Dialog,便於 TalkBack 使用者辨識對話方塊。(I857ef)
1.0.0-beta01 版
2022 年 8 月 24 日
發布 androidx.compose.material3:material3:1.0.0-beta01
和 androidx.compose.material3:material3-window-size-class:1.0.0-beta01
。查看 1.0.0-beta01 版的修訂項。
API 參考資料
如要查看最新的主題設定、元件和其他可用的可組合項,請參閱 Compose Material 3 API 參考資料總覽。
API 變更
- 更新了 Material 3 頂端應用程式列,以呈現完全收合狀態至完全展開狀態。此外,將
TopAppBarDefaults
行為函式更新為 Composables,並針對其頂端應用程式列狀態和動畫規格提供預設值 (I642b3)。 - 更新了懸浮動作按鈕 (FAB) 元件簽章以符合介面 API (I3afaa)
- 新增了適用於頂端應用程式列、導覽匣、導覽列和邊欄的插邊內建支援機制。無論是單獨使用或與 Scaffold 搭配使用,這些元件都會為開發人員自動處理插邊。注意:這項變更不會自動處理狀態列圖示以及狀態列和導覽列的透明度。請繼續手動處理,確保提供最佳的無邊框體驗。(I7e4e6、b/183161866)
- 更新了元件預設值以減少 API 介面,藉此提升日後的彈性與效能。(I31820)
- 重新安排方塊和導覽匣工作表參數的順序,藉此在 API 內維持一致性 (I45d0b)
- 將
startIndent
從 Divider 中移除,並將顏色移到最後一個參數 (If7be2)。
1.0.0-alpha16 版
2022 年 8 月 10 日
發布 androidx.compose.material3:material3:1.0.0-alpha16
和 androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
。查看 1.0.0-alpha16 版的修訂項。
新功能
- 支援在導覽匣中指定自訂寬度。(Ia7f10)
API 變更
- 重新排列 Tab 和 Leading 圖示分頁參數的順序,藉此在 API 內保持一致 (Ie2637)
- 將
BadgeDefaults
標示為實驗性質。(I98ef3) - 移除已淘汰的導覽匣函式。(I4f2db)
- 重新安排 Material 3 中 Slider 參數的順序,藉此在 API 內維持一致性 (I0aee7)
- 重新安排
NavigationBar
和NavigationRail
參數的順序,藉此在 API 內維持一致性 (I51cda) - 重新安排 Material 3 中的參數順序,藉此在 API 內維持一致性。(If4ae1)
- 重新安排 Material 3 中 Slider 參數的順序,藉此在 API 內維持一致性 (I62673)
- 將 icons 參數重新命名為 actions,藉此與頂端應用程式列保持一致 (Id75be)
- 將
Badge
和BadgedBox
標示為實驗性質,因為目前仍可大量使用錨點對齊。(I1712e、b/236524516) - 將圖示按鈕變化版本的
@ExperimentalMaterial3Api
註解變更為@OptIn
(I070b5) - 將導覽匣的內容與自身的可組合項區隔開來,以便支援指定自訂寬度。(Ia7f10)
- 從
MenuDefaults
和TabDefaults
移除Divider
(I4e33c)
1.0.0-alpha15 版
2022 年 7 月 27 日
發布 androidx.compose.material3:material3:1.0.0-alpha15
和 androidx.compose.material3:material3-window-size-class:1.0.0-alpha15
。查看 1.0.0-alpha15 版的修訂項。
新功能
- 允許從頂端應用程式列本身拖曳該列。(I65c00、b/205873416)
API 變更
- 更新
FilterChip
和ElevatedFilterChip
API 以移除selectedIcon
運算單元,並推廣重複使用leadingIcon
以顯示所選狀態。(Ie5dc2) - 新增紗罩遮擋和外框變化版本的顏色角色。(Id6d54)
- 修正可組合項預設值的命名慣例。(I62b27)
- 將
ListItemDefaults
和ListItemColors
標示為實驗性質。(I1f3ec) - 變更頂端應用程式列 API,以更準確地反映其狀態屬性的意義。此外,請將頂端應用程式列 API 標示為實驗功能。(Ic0ad8)
- 文字選取顏色現已新增至
TextFieldColors
,以提高曝光度。(Iba1b8) - 新增
ButtonDefault.ButtonWithIconContentPadding
以與包含圖示的按鈕搭配使用。(I2bf9c) - 文字欄位已標示為實驗性質,讓日後的 API 變更更具彈性。(I127b5)
- 已從
Checkbox
函式中移除@ExperimentalMaterial3Api
註解。(I5eefc) - 已從
RadioButton
函式中移除@ExperimentalMaterial3Api
註解。(I17e2a) - 已從非互動式資訊卡中移除
@ExperimentalMaterial3Api
註解。(I9bd49) - 更新各種元件預設物件,包括顏色、形狀等 (I96e11)。
修正錯誤
- 已從輸入方塊範例中移除無法運作的結尾圖示,以免在目錄應用程式中混淆使用者 (I9846a)。
1.0.0-alpha14 版
2022 年 6 月 29 日
發布 androidx.compose.material3:material3:1.0.0-alpha14
和 androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
。查看 1.0.0-alpha14 版的修訂項。
新功能
- 新增了 M3 清單實作,請查看說明文件中的使用範例 (Id7a20)
API 變更
- 將參數名稱從值變更為
RangeSlider
中的值 (I3b79a) - API 變更為
InputChip
實作,以便根據 Material Design 規格支援可選取狀態。為特定停用狀態的FilterChip
顏色提供額外支援 (I55244、b/235792432)。 - 新增
BottomAppBar
預設 FAB (Ida4c8) - 已新增
ColorScheme.surfaceColorAtElevation
(Id41af) - Compose 程式庫中的介面現為使用 jdk8 預設介面方法建構 (I5bcf1)
WindowWidthSizeClass
和WindowHeightSizeClass
現在實作 Comparable,使其得以使用運算子 (<、<=、>=、>) 和其他 API 比較。(I747d0)
修正錯誤
- 更新標記範例以提供更多實質的內容說明。(I10b9d)
- 在 Material 3 目錄的主題挑選工具中加入使用系統字型大小的選項。(I10605)
- 加入標記的程式碼範例和不確定進度指標。(I8fbe0)
1.0.0-alpha13 版
2022 年 6 月 1 日
發布 androidx.compose.material3:material3:1.0.0-alpha13
和 androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
。查看 1.0.0-alpha13 版的修訂項。
API 變更
- 支援在設定變更時維持最上方的應用程式列位置。(I10459、b/216160958)
1.0.0-alpha12 版
2022 年 5 月 18 日
發布 androidx.compose.material3:material3:1.0.0-alpha12
和 androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
。查看 1.0.0-alpha12 版的修訂項。
修正錯誤
- 滑桿父項現可設定 0 寬度 (b/231707291)。
1.0.0-alpha11 版
2022 年 5 月 11 日
發布 androidx.compose.material3:material3:1.0.0-alpha11
和 androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
。查看 1.0.0-alpha11 版的修訂項。
新功能
- 將
RangeSlider
新增至 Material 3 (I18e38) - 新增 Material3
AssistChip
和InputChip
支援 (I0d25a) - 新增 Material3
FilterChip
和SuggestionChip
支援 (I9fdf3)
API 變更
- 重新命名
TextFieldDefaults.BorderStroke
可組合項,該可組合項用於繪製OutlinedTextField
至TextFieldDefaults.BorderBox
的框線 (I5f295)。 - 切換 m3 視覺效果 (Iab30e)
- 允許將顏色傳遞至標準圖示按鈕。(Ia2445)
修正錯誤
- 在 material3/Scaffold 新增 Lint 檢查功能,確保使用內部邊框間距 (I72293、b/226951418)
1.0.0-alpha10 版
2022 年 4 月 20 日
發布 androidx.compose.material3:material3:1.0.0-alpha10
和 androidx.compose.material3:material3-window-size-class:1.0.0-alpha10
。查看 1.0.0-alpha10 版的修訂項。
新功能
material3-window-size-class
是一個新程式庫,能夠支援視窗大小類別,也就是一組一致認可的可視區域中斷點,可讓您設計、開發及測試可調整大小的應用程式版面配置。您可以使用calculateWindowSizeClass
擷取視窗大小類別執行個體,以用於決定使用者介面的顯示方式,例如,以較大的視窗大小顯示導覽邊欄,而非底部導覽列。如需更多資訊和用途範例,請參閱WindowSizeClass
的 API 參考資料說明文件。如要進一步瞭解視窗大小類別的定義,請參閱有關支援不同螢幕大小的公開規範。
API 變更
- 新增
BottomAppBar
的預設懸浮動作按鈕 (FAB) 高度,從BottomAppBar
移除懸浮動作按鈕 (FAB) 結尾的 lambda。(I92c47) - 新增 Material3
FilledIconButton
、FilledTonalIconButton
和OutlinedIconButton
。(Ib2bda) - 更新 Material 3 Snackbar API,接受選擇性動作和關閉動作的顏色值。(Ibe4b4)
- 已從
PointerInputChange
淘汰部分使用功能 (向下或定位)。可使用consume()
徹底使用變更。可使用isConsumed
判斷其他使用者是否曾經使用過該變更。 PointerInputChange::copy()
現在會一律建立淺層複本。這表示只要使用一份複本,系統就會使用PointerInputChange
的複本。如要建立未繫結的PointerInputChange
,請改用建構函式。(Ie6be4、b/225669674)- 變更 Cards API,透過
CardColors
介面接收容器和內容顏色,並支援已停用的可點擊資訊卡狀態。(I927df) - 將 Material 3 文字欄位中的
backgroundColor
參數重新命名為containerColor
,以便改善與其他元件的一致性。(I6fbd9)
修正錯誤
- 更新標準
IconButton
,使其符合 Material3 規格。(I09eab) - 將 material3 Scaffold 頂端列高度移至已傳遞到內容的邊框間距,這樣內容就可以在頂端應用程式列下方顯示。如果忽略
PaddingValues
,頂端列可能會模糊處理內容。(I83cbc、b/217776202)
1.0.0-alpha09 版
2022 年 4 月 6 日
發布 androidx.compose.material3:material3:1.0.0-alpha09
。查看 1.0.0-alpha09 版的修訂項。
新功能
- 新增了 Material 3 Switch API (I2c3ad)
API 變更
- 新增了對文字欄位下拉式選單 (又稱「展開式下拉式選單」或「下拉式方塊」) 的支援 (I1b832)。
- 在 MaterialTheme 和 Shape 子系統中新增形狀參數。(I37426)
- 在
ExtendedFloatingActionButton
中新增展開參數,以便控制 FAB,將其展開或收合,並在切換為不同狀態時顯示動畫。針對已擴充的 FAB 新增 Extended FAB 超載,並針對無圖示的 ExtendedFAB 新增結尾文字。(Iba7f1)
1.0.0-alpha08 版
2022 年 3 月 23 日
發布 androidx.compose.material3:material3:1.0.0-alpha08
。查看 1.0.0-alpha08 版的修訂項。
新功能
- 新增了對 Material 3 文字欄位的支援 (I795cc、b/199377790)。
API 變更
修正錯誤
- 修正 Material3 按鈕,以便從 MaterialTheme 讀取其預設文字樣式值 (Ie62fc)。
1.0.0-alpha07 版
2022 年 3 月 9 日
發布 androidx.compose.material3:material3:1.0.0-alpha07
。查看 1.0.0-alpha07 版的修訂項。
API 變更
- 更新 Material 3 Surface API,為可點擊式 Surface 復原超載函式,以及新增了函式,以便支援可選取和可切換的 Surface。(I4bf18)
LazyVerticalGrid
和LazyHorizontalGrid
現已穩定。(I307c0)。LazyVerticalGrid/LazyHorizontalGrid
和所有相關 API 已移至 .grid 子套件。請將匯入項目從 androidx.compose.foundation.lazy 更新為 androidx.compose.foundation.lazy.grid。(I2d446)- 還原
WindowInsetsControllerCompat
之前完全依賴 View 的變更,現在管理某些視窗旗標改回需要 Window。淘汰ViewCompat.getWindowInsetsController
以取代WindowCompat.getInsetsController
,以便確保使用正確的 Window (例如 View 在對話方塊內)。(I660ae、b/219572936) - 新增用於定義跨軸大小的
LazyVerticalGrid
API (I17723)
修正錯誤
- 更新 Card API,以追蹤 Surface API 的變更 (I3c8b9)
1.0.0-alpha06 版
2022 年 2 月 23 日
發布 androidx.compose.material3:material3:1.0.0-alpha06
。1.0.0-alpha06 版包含此連結所列的修訂項目。
API 變更
- 已新增
NavigationDrawerItem
,它代表導覽匣中的單一目的地 (Ic396f,b/218286829) - 已將
PermanentNavigationDrawer
和DismissibleNavigationDrawer
新增為實驗性 API。這些導覽匣非常適合大螢幕裝置使用。(I5f8ab、b/218286829) - 新增了 Material 3 底部應用程式列支援 (Ic432a)
NavigationDrawer
已重新命名為ModalNavigationDrawer
(I1807d、b/218286829)- 新增了 Material 3 Slider 類別和權杖 (I1ccee)
- 新增了 Tab 實作,請查看說明文件中的使用範例 (Ie0146)
修正錯誤
- 修正了以下問題:
TalkBack
螢幕閱讀器線性導覽選取了空白的頂端應用程式列標題。(Id4690) - 已將
IconSize
新增至FloatingActionButtonDefaults
。(Ia71cf) - 修正使用
LazyColumn
新增長文字內容時,無法顯示AlertDialog
按鈕的問題。(Ib2cc9、b/216663029)
1.0.0-alpha05 版
2022 年 2 月 9 日
發布 androidx.compose.material3:material3:1.0.0-alpha05
。1.0.0-alpha05 版包含此連結所列的修訂項目。
新功能
新增了 Material Design 3 元件
API 變更
- 已淘汰
Surface
函式,該函式會接收 onClick 回呼。應使用InteractionSource
和Modifier.clickable()
來建立可點擊途徑。(I211c6) - 新增了支援 FAB 的點按式和聚焦式提升權限。(Ibb584)
- 變更了
Surface
API,以便接收 InteractionSource,這可以控制其在不同狀態下的外觀。(Iafbc8)
修正錯誤
- 在動態顏色配置中新增了缺少的第三級顏色 (I456c4、b/214588434)
1.0.0-alpha04 版
2022 年 1 月 26 日
發布 androidx.compose.material3:material3:1.0.0-alpha04
。查看 1.0.0-alpha04 版的修訂項。
API 變更
- 將
NonRestartableComposable
新增至屬於現有方法超載且無複雜邏輯的方法。如此一來,對於呼叫內部函式中重複的所有參數,可減少編譯器產生的記憶檢查 (等於)。(I90490) - 新增了 Material 3 分割線。(Ica5fc)
- 使用實驗性 API 註解標記 Checkbox 和 RadioButton。(Ie44bb)
- 開始支援 Material 3 進度指標 (Iff232、b/205023841)。
修正錯誤
- 將已停用的
TextButton's
容器顏色更新為透明 (I6b248,b/213339737)
1.0.0-alpha03 版
2022 年 1 月 12 日
發布 androidx.compose.material3:material3:1.0.0-alpha03
。查看 1.0.0-alpha03 版的修訂項。
修正錯誤
- 將
LocalIndication
新增至 Material 3 的MaterialTheme
。(I7ce4e) - 修正適用於 Checkbox 的圓角半徑 (I38b03、b/175198975、b/202309440)
依附元件更新
- 現在依附於 Kotlin
1.6.10
。
1.0.0-alpha02 版
2021 年 12 月 1 日
發布 androidx.compose.material3:material3:1.0.0-alpha02
。1.0.0-alpha02 版包含此連結所列的修訂項目。
新功能
- 新增對 Checkbox 和 Radiobutton 的支援。
- 已更新為可與 Kotlin
1.6.0
相容
API 變更
- 從 Material 3 的 Scaffold 中移除導覽匣。(I04f51)
- 新增 Material 3
Checkbox
支援。(Id5542) - 新增 Material 3
RadioButton
支援。(I20334)
修正錯誤
- 將
IconButton
漣漪半徑從 40 dp 降到 20 dp。(I68bbe、b/206674345) Text
的通訊埠字串快速路徑從compose.material
中進行變更 (I30b03)- 修正系統一律啟用硬式編碼按鈕的問題。(Iea832、b/205335456)
1.0.0-alpha01 版
2021 年 10 月 27 日
發布 androidx.compose.material3:material3:1.0.0-alpha01
。1.0.0-alpha01 版包含此連結所列的修訂項目。
新功能
Material Design 3 主題設定和 Material You 動態顏色
Material Design 3 元件
詳情請參閱 Compose 指南中 Material 主題設定的 Material Design 3 和 Material You 一節。