Compose Material 3
| 最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
|---|---|---|---|---|
| 2025 年 10 月 22 日 | 1.4.0 | - | - | 1.5.0-alpha07 |
結構
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.4.0" implementation "androidx.compose.material3:material3-window-size-class:1.4.0" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.5.0-alpha07" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.4.0") implementation("androidx.compose.material3:material3-window-size-class:1.4.0") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.5.0-alpha07") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
Compose Material3 Common 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 自動調整式導覽套件 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 元件,現在會公開可為空值的MutableInteractionSource,預設值為 null。這裡沒有語意變更:傳遞空值表示您不希望提升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 版本包含以下修訂項目。
新功能
- 新增「無」
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 自適應窗格 Scaffold API:
- 窗格架構基本 API
Compose Material3 1.5 版
1.5.0-alpha07 版
2025 年 10 月 22 日
發布 androidx.compose.material3:material3-*:1.5.0-alpha07。1.5.0-alpha07 版包含這些修訂項目。
API 變更
- 透過
keyboardOptions參數強化SearchBar.InputField,可指定鍵盤選項來最佳化文字輸入,並透過lineLimits參數指定文字換行捲動 (Id08a4、b/416991049)
修正錯誤
- 修正 Slider 的錯誤,現在按下時會發出按壓互動。這項變更可確保系統在
awaitFirstDown上立即發出PressInteraction.Press,提供即時的視覺回饋。(If9e25、b/308501482) - 修正捲動時
Tooltip插入號不會變更方向的問題。現在,每當工具提示彈出視窗切換側邊時,TooltipBox就會觸發重組,確保插入號的方向正確更新。(I5ad1e、b/438875827)
1.5.0-alpha06 版
2025 年 10 月 8 日
發布 androidx.compose.material3:material3-*:1.5.0-alpha06。1.5.0-alpha06 版包含這些修訂項目。
API 變更
- 為
AppBarWithSearch新增捲動顏色。此外,搜尋列輸入欄位的容器顏色現在預設為透明。搜尋列本身的預設容器顏色維持不變。(I4fe32) - 在
FloatingToolbar中新增預設溢位指標可組合函式。(I6a6f8、b/415833723) - 將按鈕群組中的選單 API 從
isExpanded更新為isShowing。(I86309、b/412419514) - 已將
initialIsExpanded更新為initialIsShowing,並在ButtonGroupDefaults中新增預設溢位指標可組合函式。(I6e67c、b/412419514) - 從公開 API 介面移除拖曳調整大小功能 (Ic85ba、b/437953743、b/442636084)
修正錯誤
- 修正鍵盤瀏覽時的按鍵焦點順序,並修正從右向左 (RTL) 瀏覽時的按鍵焦點順序。(Ibba27、b/422220597)
- 修正日期選擇器的年份選取格線鍵盤瀏覽功能。(I02363、b/422425720、b/446814683)
- 修正日期挑選器中日期選取格的鍵盤導覽功能。(I594ef、b/422220597、b/422223115)
- 修正螢幕外工具列接收鍵盤焦點的問題。(I01a73、b/422786812)
- 修正
RangeSlider和滑桿鍵盤導覽功能。(Ib6bcf、b/424845268、b/422942624)
1.5.0-alpha04 版
2025 年 9 月 10 日
發布 androidx.compose.material3:material3-*:1.5.0-alpha04。1.5.0-alpha04 版包含這些修訂項目。
新功能
- 新增了
Text可組合超載,可接受ColorProducerlambda,以便有效率地變更顏色,不必觸發完整重組。(I9ff25、b/407055128)
API 變更
- 將
Scrim()重新命名為LevitatedPaneScrim(),並隱藏 Levitated 和 Reflowed 類別的屬性。(I090e1、b/427953101) - 將
calculatePosture()API 設為內部 (Ie7227、b/424442112) - 將
PaneScaffoldHorizontalOrder公開為密封的公用 API (Ia4ebe) - 將視窗大小和姿勢相關 API 標示為實驗性質。(I4ee96)
修正錯誤
- 修正鍵盤導覽順序,讓焦點從 FAB 按鈕移至頂端的第一個項目。(Icaaa1、b/422762939)
- 改善導覽匣的鍵盤無障礙功能:導覽匣關閉時不再可聚焦,可透過 Esc 鍵關閉,開啟時內容會收到焦點。(Idb995、b/422793544、b/422793651、b/422797424)
- 時間挑選器的鐘面現在會回應鍵盤導覽/輸入。(I9d5d9、b/425710631)
- 當窗格擴展錨點清單變更時,使用新的初始錨點 (I91cd1、b/438829477)
1.5.0-alpha03 版
2025 年 8 月 27 日
發布 androidx.compose.material3:material3-*:1.5.0-alpha03。1.5.0-alpha03 版包含這些修訂項目。
行為變更
- 核取方塊大小和指標顏色已調整為符合規格。為盡量減少 UI 中斷情形,我們新增了
isCheckboxStylingFixEnabled標記,協助您完成遷移。請在應用程式中手動啟用。這個標記最終會在日後的版本中移除。(I5bcd3、b/304300693)
API 變更
修正錯誤
TimePickerDialog中的containerColor參數現在可正確套用,方便您自訂對話方塊的背景顏色。(I47f89、b/403183883)- 摺疊時,模態導覽軌不會再失去焦點,且現在會回應 ESC 鍵而關閉。(4255257)
Snackbar現在的動作和關閉按鈕鍵盤焦點順序正確,關閉按鈕也支援顯示工具提示。(11fa13d)
1.5.0-alpha02 版
2025 年 8 月 13 日
發布 androidx.compose.material3:material3-*:1.5.0-alpha02。1.5.0-alpha02 版包含這些修訂項目。
API 變更
- 在
PullToRefreshDefaults中,將shape重新命名為indicatorShape,並將containerColor重新命名為indicatorContainerColor,且新增indicatorMaxDistance以供指標使用。(Ib6cbe) - 從
PullToRefreshDefaults.indicatorColor移除淘汰標記 (Iaaee2) - 新增
AppBarWithSearch,取代TopSearchBar,並支援導覽/動作圖示。(I213a5)
修正錯誤
- 修正返回鍵錯誤更新抽屜偏移值的錯誤。(I85624、b/427778135)
- 如果沒有其他錨點,
SwipeToDismissBox現在會回溯至已結算的targetValue。如果沒有其他錨點,BottomSheetScaffold現在會改用「已展開」targetValue。(I73d5e、b/428856426) - 修正垂直堆疊時,
AlertDialog中的按鈕邊框間距。(Ia2118) - [FAB] 修正錯誤:
Modifier.animateFloatingActionButton隱藏 FAB 後,FAB 仍可點選 (I8ea6c、b/430336834) - [滑桿] 修正滑桿的鍵盤導覽功能 (I3a405)
1.5.0-alpha01 版本
2025 年 7 月 30 日
發布 androidx.compose.material3:material3-*:1.5.0-alpha01。1.5.0-alpha01 版包含這些修訂項目。
新功能
- 為工具提示新增更多位置供應器,開發人員現在可以控制工具提示是否要放在錨點上方、下方、左側或右側。新增可接收插入號 Shape 的 API,以便提供更多自訂形狀。(Ie513c)
API 變更
- 根據狀態計算元件顏色的
TextFieldColors方法現已公開。(I03165) - 已從
onDismiss回呼中移除暫停註解。(Ie3166) DatePickerState.getDisplayedMonth(): YearMonth?和DateRangePickerState.getDisplayedMonth(): YearMonth?已更新為傳回不可為空值的值。(Ice09c、b/427952972)- 移除
ModalWideNavigationRailDefaults,將內容移至WideNavigationRailDefaults,然後重新命名形狀相關名稱。(Ic5e61) WideNavigationRailItem的色彩和副本已淘汰函式應為「隱藏」層級。(Id7e82)- 將已淘汰的
WideNavigationRailAPI 層級變更為「警告」,並設為實驗性。(I89085)
修正錯誤
- 確保
DatePicker遵守自己的地區語言,以正確格式顯示數字。先前,如果為阿拉伯文語言代碼設定DatePicker,裝置的系統語言代碼使用不同的編號系統時,可能會錯誤轉譯拉丁數字。(Iccf76、b/432616196) - 修正
LinearProgressIndicator問題,這個問題會導致系統無法在 RTL 版面配置中正確算繪停止指標。(I0734c) PrimaryScrollableTabRow和SecondaryScrollableTabRow分隔線現在會延伸至全螢幕大小,即使分頁內容未延伸至螢幕結尾也是如此。(Ic1e9c、b/261741384)
Compose Material3 1.4 版
1.4.0 版本
2025 年 9 月 24 日
發布 androidx.compose.material3:material3-*:1.4.0。1.4.0 版包含這些修訂項目。
自 1.3.0 版以來的重要異動:
圖書館異動公告
androidx.compose.material.icons 程式庫不再建議用於在 Compose 中顯示 Material Icons,因為 Material Symbols 是未來的趨勢。我們已停止發布這個程式庫的更新,且最新版 Material 3 程式庫發行時已移除這個程式庫。如果您還無法遷移,仍可手動參照這個程式庫。
建議您前往 https://fonts.google.com/icons 的「Android」分頁下載向量可繪項目 XML 檔案,取得最新樣式的圖示:Material Symbols。
為什麼我們不再推薦使用程式庫?圖示庫 (「Material Icons」) 已由新版 Material Symbols 取代。我們發現,圖示庫包含各種可能不需要的圖示,因此可能會大幅增加應用程式的建構時間。
詳情請參閱:https://developer.android.com/develop/ui/compose/graphics/images/material
行為變更
這個程式庫不會再將依附元件新增至
material-icons-core,因此如果專案依賴該依附元件,您就必須在 build.gradle[.kts] 檔案中明確新增該依附元件。(I735ff、b/349894318)NavigationBarItem和NavigationRailItem的有效標籤顏色會從onSurface變更為次要顏色,以提升可用性、顏色對比度,並改善系統內的一致性 (Ibc297)。如要還原先前的行為,請複製預設顏色,並將selectedTextColor變更為MaterialTheme.colorScheme.onSurface。Material 3 元件現在使用新的
MotionScheme定義動作。(Ie0f93)未確定的圓形進度指標動作變化 (I3c07e)
全新 Material Design 3 元件
HorizontalCenteredHeroCarouselVerticalDragHandle- 密碼輸入欄位的安全文字欄位
現有 Material Design 3 元件的強化功能
- 文字現在支援
autoSize- 含有字串的文字
- 含有 annotatedString 的文字
- 新增
BasicTextField2的 Material 3 裝飾器 - 新增
TimePickerDialogAPI,可用於TimePicker、TimeInput或切換版本。 - 新的搜尋列 API:
- 收合的搜尋列和展開的搜尋「檢視畫面」現在是不同的可組合函式:
SearchBar代表處於收合狀態的搜尋列。ExpandedFullScreenSearchBar和ExpandedDockedSearchBar代表展開狀態下的搜尋列。這些連結會在新視窗中開啟。SearchBarState,控制搜尋列的狀態
- 實驗性 API 升級為穩定版!
- 提升效能
1.4.0-rc01 版本
2025 年 9 月 10 日
發布 androidx.compose.material3:material3-*:1.4.0-rc01。1.4.0-rc01 版包含這些修訂項目。
1.4.0-beta03 版
2025 年 8 月 27 日
發布 androidx.compose.material3:material3-*:1.4.0-beta03。1.4.0-beta03 版包含這些修訂項目。
1.4.0-beta02 版本
2025 年 8 月 13 日
發布 androidx.compose.material3:material3-*:1.4.0-beta02。1.4.0-beta02 版包含這些修訂項目。
依附元件變更
- 移除
graphics-shapes依附元件 (I219e0、b/436230765)
API 變更
- 在
PullToRefreshDefaults中,將shape重新命名為indicatorShape,並將containerColor重新命名為indicatorContainerColor,且新增indicatorMaxDistance以供指標使用。(Ib6cbe) - 從
PullToRefreshDefaults.indicatorColor移除淘汰標記 (Iaaee2) BasicAlertDialogOverrideScope意外升級為穩定版,且實驗性註解已在 aosp/3701846 中移除。並標示為內部。在 1.5.0-alpha 版中,這項功能仍會是公開實驗功能 (I9182a)
修正錯誤
- 修正返回鍵錯誤更新抽屜偏移值的錯誤。(I85624、b/427778135)
1.4.0-beta01 版本
2025 年 7 月 30 日
發布 androidx.compose.material3:material3-*:1.4.0-beta01。1.4.0-beta01 版包含這些修訂項目。
破壞性變更
- 所有標記為
ExperimentalMaterial3ExpressiveApi或ExperimentalMaterial3ComponentOverrideApi的公開 API 都已移除,請改用1.5.0-alpha繼續使用這些功能。(Ie4ae0) - 請注意,下列已穩定版
pullToRefreshAPI 將在下一個版本中重新命名。(Ib6cbe)
新功能
Tooltip現在支援自訂插入號形狀和位置 (錨點上方、下方、左側或右側)。(Ie513c)
API 變更
- 已從
onDismiss回呼中移除暫停註解。(Ie3166) DatePickerState.getDisplayedMonth(): YearMonth?和DateRangePickerState.getDisplayedMonth(): YearMonth?已更新為傳回不可為空值的值。(Ice09c、b/427952972)- 移除
ModalWideNavigationRailDefaults,將內容移至WideNavigationRailDefaults,然後重新命名形狀相關名稱。(Ic5e61)
修正錯誤
- 確保
DatePicker遵守自己的地區語言,以正確格式顯示數字。先前,如果為阿拉伯文語言代碼設定DatePicker,裝置的系統語言代碼使用不同的編號系統時,可能會錯誤轉譯拉丁數字。(Iccf76、b/432616196) - 修正
LinearProgressIndicator問題,這個問題會導致系統無法在 RTL 版面配置中正確算繪停止指標。(I0734c) PrimaryScrollableTabRow和SecondaryScrollableTabRow分隔線現在會延伸至全螢幕大小,即使分頁內容未延伸至螢幕結尾也是如此。(Ic1e9c、b/261741384)
1.4.0-alpha18 版
2025 年 7 月 16 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha18。1.4.0-alpha18 版包含這些修訂項目。
新功能
ModalBottomSheetProperties現在提供選項,可從半透明遮罩點擊停用 dismissRequest。(I8e715)- 在
RangeSlider的 Track 中新增trackCornerSize支援。(Iec529)
API 變更
- 將
railExpanded設為WideNavigationRailItem的必要參數,為WideNavigationRailColors新增modalContentColor,並將WideNavigationRailDefaults.modalContainerShape移至ModalWideNavigationRailDefaults.containerShape。(Id60c5) - 將
WideNavigationRail的新顏色函式參數移至最後一個,並淘汰舊函式。(Iac7f7) PullToRefresh現在是穩定版 API (I18537)DatePickersAPI 更新。我們移除了DateRangePicker的預設空值結束日期,並設為必須傳遞。此外,我們也在 API 說明文件中,明確指出日期表示法在 UTC 午夜的使用方式,並將使用 java.time API 的最新 getter 和 setter 標示為實驗性。(I121b3、b/427952972)- 將 Icon with
tint: ColorProducer參數 API 升級為非實驗性。(Ia0133) - 從
DatePicker、DateRangePicker及其支援的狀態、類別和型別中,移除實驗性註解。(I0e4e0、b/391848485) - 將預設可聚焦值變更為 false,修正無障礙焦點,並將
hasAction參數新增至TooltipBox。(I62998) - 實驗性
WideNavigationRail、ShortNavigationBar和NavigationItemAPI 畢業。(I3ca3c) - 從部分頂端應用程式列函式、支援類別和物件中移除
@ExperimentalMaterial3Api註解。(I0a9b7)
1.4.0-alpha17 版
2025 年 7 月 2 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha17。1.4.0-alpha17 版包含這些修訂項目。
新功能
- 更新按鈕群組的動畫,在點選時將動畫設為 75%,而非按下時。(593942a、b/423596967)
修正錯誤
- 修正問題:在某些情況下,輪播項目可能會在版面配置計算期間超出大型元素大小,導致整個小工具遭到裁剪。(I1c3d7、b/397489534)
- 修正捲動輪轉介面時,如果開始和結束偏移量重疊,會跳過
beforeContentPadding的問題。(c3d5f3a、b/420618979) - 更新
SwipeToDismiss的啟用行為,以觀察結算狀態而非目前狀態。還原現有行為,只有在元件處於已關閉狀態時,才會停用錨點行為。(3844e07、b/425006844) - 現在可以透過鍵盤輸入開啟「
ExposedDropdownMenu」的彈出式選單。此外,現在可透過鍵盤存取可編輯變化的選單。(46ead03)
1.4.0-alpha16 版
2025 年 6 月 18 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha16。1.4.0-alpha16 版包含這些修訂項目。
新功能
- 新增置中對齊的主要輪轉介面元件 (I6f6d3)
API 變更
- 實作 XR 覆寫垂直工具列 (Ia1604)
- 在
CarouselState中新增程式輔助捲動函式 (I12f8e) - 為
ModalWideNavigationRail新增ComponentOverride(I4f440) - 為
WideNavigationRail新增ComponentOverride(I6354f) - 為「
HorizontalFloatingToolbar」建立「ComponentOverride」(I51116) - 為「
ShortNavigationBar」建立「ComponentOverride」 (I30e24) SwipeToDismissBoxState對confirmValueChange的參照已標示為已淘汰。使用者應改用SwipeToDismissBoxAPIonDismissed回呼。(Iee780)- 在輪轉介面可組合函式中新增 userScrollEnabled 參數。(I1d4d2)
- 現在可以從
CarouselState觀察輪播的currentItem。(Ie87e9)
修正錯誤
- 修正問題:傳遞至
FloatingToolbar的任意形狀 FAB 無法正確套用陰影。(Icdcc9、b/423336922) - 所有輪轉介面現在預設都會使用輪轉介面語意角色。(I7af12)
- 修正透過
LaunchedEffect更新滑桿狀態時,滑桿控點移動不正確的問題 (Id9f31、b/302774166)
1.4.0-alpha15 版本
2025 年 5 月 20 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha15。1.4.0-alpha15 版包含這些修訂項目。
API 變更
- 新增了
MotionTheme.LocalMotionScheme,即組合區域。這樣一來,您就能透過currentValueOf(MotionTheme.LocalMotionScheme)從CompositionLocalConsumerModifierNodes存取主題動作配置。(I014b1) - 不含固定顏色角色的
ColorScheme建構函式現已淘汰,請遷移至包含固定角色的建構函式。(Iad0ee) - M3 Text 元件現在支援
TextAutoSize。(I7f524) - 新增 API,用於建構分割按鈕大小變體,並新增範例。(Ice30b)
修正錯誤
- 修正問題:啟用無邊框模式時,
Snackbar和FloatingActionButton的位置不正確。Scaffold 現在會正確地將水平插邊套用至這些元件。(Ib7c30、b/244400727) - 修正
BottomSheet動作,從完全展開到部分展開。BottomSheet現在會在隱藏或摺疊時使用MotionScheme的快速效果,展開時則使用預設空間效果。(Ifa46f、b/416063171) - 沒有介面容器角色的
ColorScheme建構函式已標示為隱藏,不再建議使用。(Ia7237) - 移除了
CircularWavyProgressIndicatorSize.minDimension > 0規定 (過去會擲回例外狀況),以提供更大的彈性。(Ic9418、b/377531195) Text(AnnotatedString)中的超連結現在預設採用 Material 樣式。(I78288、b/339843816)- 修正
RoundedPolygon中的toShape()函式會快取路徑的問題,以及使用不同大小進行多次createOutline呼叫時導致的問題。(I4026d)
1.4.0-alpha14 版
2025 年 5 月 7 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha14。1.4.0-alpha14 版包含這些修訂項目。
API 變更
- 新增了
AppBarColumn可組合函式,其運作方式與AppBarRow相同,但適用於以直欄形式配置的內容。(Iaf6bd) - 在
AppBarRow中新增項目上限,這是正確導入頂端應用程式列 Material 規格的必要步驟。(I92ce4) - 在
TooltipScope中新增方法,以取得錨點的layoutCoordinates。由於開發人員可以使用這個新方法取得錨點界線layoutCoordinates,並建立包含插入號的適當形狀,因此我們將淘汰drawCaret方法。(Ia2e12、b/329470609) - 新增對日期挑選器的
java.time支援:導入接受 java.time 物件 (例如初始LocalDate、YearMonth) 的rememberDatePickerState/rememberDateRangePickerState多載。此外,也在狀態物件上新增擴充功能函式,可使用LocalDate和YearMonth等型別取得/設定值。需要 API 26 以上版本或 desugaring。(I70f29、b/266202516、b/281859606) - 新增
CenteredTrack可組合函式,允許使用從中心開始的滑桿。(I5b1d6)
修正錯誤
- 提升波浪進度指標的效能:線性型別現在的載入速度提升約 8.5%,配置減少約 11%;圓形型別的載入速度大幅提升約 47%,配置減少約 39%。(I595d8)
1.4.0-alpha13 版
2025 年 4 月 23 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha13。1.4.0-alpha13 版包含這些修訂項目。
API 變更
isAppearanceLightStatusBars和isAppearanceLightNavigationBars重新導入ModalBottomSheetProperties,做為僅限 Android 的參數。(Id4bc0)- 新增
AppBarRow可組合函式,處理超出邊界的項目溢位。(I742bd) - 更新
DatePicker和DateRangePickerAPI,以便在切換至日期輸入模式時要求焦點。我們已將requestFocus布林值參數替換為選用的focusRequester參數,該參數會採用FocusRequester。(I14b69) - 從預設可點選和可切換的項目中移除修飾符和互動來源。請改為將其視為實作詳細資料。(I95ed6)
- 更新
ButtonGroup,如果按鈕過多而無法顯示在畫面上,就會溢位至下拉式選單。(I7b88b)
修正錯誤
- 如果底部功能表小於目前的偏移量,現在會使用頂端插邊。使用者可藉此為展開行為提供頂端插邊。
BottomSheetDefaults.windowInsets現在包含WindowInsets.safeDrawing.Top。(I0ab67、b/321877275、b/336962418、b/342093067) - 啟用進入/離開動畫 (淡入/淡出/滑動),在新增或移除 Chip 前方圖示/Avatar 和後方圖示時顯示。這項功能主要適用於可選取的「晶片」(篩選器、輸入),但一般也適用。(I9af21)
- 修正
LookaheadScope導致的 RTL 滑桿行為錯誤。(Ieb152、b/408118041) - 修正與隱藏系統 UI 捲動相關的 Bottom
AppBar當機問題。(Ic6140、b/405996228)
1.4.0-alpha12 版
2025 年 4 月 9 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha12。1.4.0-alpha12 版包含這些修訂項目。
API 變更
- 從
ModalBottomSheetProperties移除 Android 專屬參數 (Iab97f、b/362539765) - 針對拖曳控點大小預設值導入超載函式 (I0ed0d)
- 新增
NavigationSuiteScaffold和NavigationSuiteScaffoldLayout函式,支援新的版面配置類型,並新增對選用主要動作內容的支援。(Ib262a、b/353144478) - 在
ButtonGroup中,使用填滿參數淘汰Modifier.weight。新增沒有填滿的版本。(Id32bb) - 將
xSmall-和xLarge-IconButton 元件預設值重新命名為extra。(Ib6e0f) - 新增
NavigationSuite、NavigationSuiteItem和NavigationSuiteColors函式,支援新的版面配置類型。(I203d6) - 新增
NavigationSuiteTypes,並新增包含這些版面配置選項的navigationSuiteType函式 (If68f9)
修正錯誤
ColorScheme.contentColorFor現在會將surfaceDim對應至onSurface。(I8891a)- 更新
DateInputTextField實作方式,解決輸入欄位未反映以程式輔助設定日期的問題。(I6c8d1、b/401143451) - 修正導覽邊欄和寬版導覽邊欄的 TalkBack 對焦順序 (I6cf6f、b/407048224)
1.4.0-alpha11 版
2025 年 3 月 26 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha11。1.4.0-alpha11 版包含這些修訂項目。
API 變更
- 更新按鈕和切換按鈕預設物件中可組合函式屬性的大小寫。在
ToggleButtonDefaults和ButtonDefaults中新增方法,根據容器高度建議內容邊框間距、形狀、圖示大小、圖示間距和文字樣式。(Iea69e) - 從
FloatingToolbar中移除已淘汰的實驗性函式和常數。(I8f339) - 高程元件現在共用介面,並具有公開建構函式和屬性。(Ibb172)
- 在
ButtonGroupScope中新增animateWidth修飾符,與按鈕群組的子項搭配使用,才能正確為子項製作動畫。(Ia3bb6)
修正錯誤
- 修正浮動工具列的邊框間距,確保在摺疊時的視覺平衡,並提升較大內容的彈性。(I06c00)
1.4.0-alpha10 版本
2025 年 3 月 12 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha10。1.4.0-alpha10 版包含這些修訂項目。
API 變更
TabRowDefaults.tabIndicatorOffset已淘汰,請改用TabIndicatorScope.tabIndicatorOffset。(Ib36b3)- 修正按鈕預設值中小型內容邊框間距的錯字。(I19bfe)
TabRow和ScrollableTabRow已淘汰,並改用主要和次要變體。主要和次要分頁列的效能更高,且更符合規格。(I918e2)- 新增
rememberSliderState及rememberRangeSliderState。(I8e384) - 在
SliderState中新增shouldAutoSnap,可控制自動對齊機制,停用這項機制有助於自訂動畫。(I07745) - 可捲動分頁列的最小分頁寬度現在是參數。主要和次要分頁列變體不再是實驗版,(If6f15、b/226665301)
- 將類別設為
ExitAlwaysFloatingToolbarScrollBehavior公開,允許在沒有組合的情況下建立。(Ibf31c)
1.4.0-alpha09 版本
2025 年 2 月 26 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha09。1.4.0-alpha09 版包含這些修訂項目。
API 變更
- 在預設狀態下重新命名
DragHandle的設定欄位;區分按下和拖曳狀態;公開預設大小。(I787b9) TowRowsTopAppBarAPI 更新。移除expandedlambda 參數,並為展開和收合高度新增個別參數。(Idd677、b/306697446、b/229134133、b/268068946)
修正錯誤
- 底部應用程式列現在會監控觸控探索服務 (例如
TalkBack),並在服務開啟時保持顯示。(I4b34d)
1.4.0-alpha08 版本
2025 年 2 月 12 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha08。1.4.0-alpha08 版包含這些修訂項目。
新功能
新增
TimePickerDialogAPI,可用於TimePicker、TimeInput或切換版本。(Id2d83)新的搜尋列 API:
- 收合式搜尋列和展開式搜尋「檢視畫面」現在是不同的可組合函式。
SearchBar代表處於收合狀態的搜尋列。ExpandedFullScreenSearchBar和ExpandedDockedSearchBar代表展開狀態下的搜尋列。這些連結會在新視窗中開啟。SearchBarState,用於控管搜尋列的狀態TopSearchBar,即可新增插邊處理和捲動行為- 使用
SearchBarState的InputField新多載 (Ie0723、b/261496232、b/283311462、b/350916229、b/352872248)
API 變更
- 支援在按下時變形圖示按鈕的圓角形狀。(I21843)
- 文字欄位裝飾器/裝飾方塊 API 不再處於實驗階段。(I31d95)
- 已為
ButtonGroup新增連結變體的範例和預設值。(I5c8ce) - 在
NavigationSuiteScaffold和NavigationSuiteScaffoldLayout中,將狀態參數設為最後一個參數。(I9cc7b)
修正錯誤
- 在
FloatingToolbars中新增自訂無障礙操作,無障礙服務現在可以展開或收合所有FloatingToolbar變體。配備懸浮動作按鈕的版本會將此設定套用至懸浮動作按鈕,而沒有懸浮動作按鈕的版本則會套用至主要內容。(I26420) FloatingToolbars現在請觀察觸控探索服務 (例如 TalkBack),並在服務開啟時保持工具列展開和顯示狀態。(I02172)- 修正進度和載入指標的當機問題,避免
Float.NaN以進度形式傳遞時發生當機。(I4fa96、b/352364576)
1.4.0-alpha07 版本
2025 年 1 月 29 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha07。1.4.0-alpha07 版包含這些修訂項目。
新功能
- 新增 API,可更彈性地自訂核取方塊的外觀。這個 API 提供筆觸參數,可進一步控制勾號和核取方塊外框的轉譯方式。(I65a88)
- 新增
TwoRowsTopAppBarAPI,可取代中型和大型應用程式列,建立兩列頂端應用程式列,並提供更多自訂選項。開發人員現在可以控制收合和展開狀態的標題和副標題內容,並自訂每種狀態的高度。(I0be3c、b/306697446、b/229134133、b/268068946)
API 變更
- 將實驗性
BottomAppBar變數重新命名為FlexibleBottomAppBar,提供更多內容排列和高度的控制權。(Iaa448) - 將 Button Group 預設物件中的屬性名稱更新為
CapitalCase。更新animateFraction的名稱,更準確地反映其代表的行為。(I545cd) - 新增常用按鈕的超載,以便在按下互動時顯示動畫形狀。新增快取按鈕形狀。(I5ec20)
- 您現在可以提供
FloatingToolbarScrollBehavior,控制含有 FAB 的FloatingToolbar對捲動的反應。如果是位於中央邊緣 (例如頂端或底部中央) 的工具列,建議使用捲動行為,在捲動時隱藏整個元件,讓畫面更簡潔。這也能避免 FAB 偏離中心,使用expanded旗標進行摺疊時可能會發生這種情況。(I33f67) - 更新實驗性
TopAppBarAPI,在設定標題和副標題的對齊方式時,使用Alignment.Horizontal而非自訂TopAppBarTitleAlignment。(I70ca2) SliderState#onValueChange現已公開,可讓使用者進一步控管 (I104eb)- 導入
NavigationSuiteScaffoldState,允許導覽元件的動畫效果。此外,也介紹具有狀態參數的NavigationSuiteScaffold和NavigationSuiteScaffoldLayout超載。(I6a8c9、b/328674235)
修正錯誤
- 將
IconButtonColors和IconToggleButtonColors類別從IconButtonDefaults.kt移回IconButton.kt。(I3c233)
外部貢獻
SliderState#isDragging現已公開。(I8458a)
1.4.0-alpha06 版本
2025 年 1 月 15 日
發布 androidx.compose.material3:material3-*:1.4.0-alpha06。1.4.0-alpha06 版包含這些修訂項目。
行為變更
- 在 Material 元件預設考量的插邊群組中新增
displayCutout,避免內容與螢幕凹口重疊。這項行為變更會影響內插邊框感知元件在螢幕凹口周圍的行為。包括適用於插邊感知 Material 3 元件的WindowInsets參數預設值,以及 Material 2 和 Material 3 元件 Defaults 物件中提供的WindowInsets值。如果這項變更導致不當行為,請手動指定每個元件的WindowInsets參數。(I43ee9、b/362508045)
API 變更
TopAppBarAPI 更新。將附有副標題的中型和大型頂端應用程式列重新命名為*FlexibleTopAppBar。將顏色變化統一為單一TopAppBarDefault.topAppBarColors()函式,並新增subtitle顏色參數,用於套用至提供的副標題可組合函式 (I41b65)- 移除
WideNavigationRailArrangementAPI,改用Arrangement.Vertical(Id0341) - 新增
VerticalSlider @Composable。(I2bfba) - 新增
@Composable軌道,可指定自訂外部軌道角落和軌道圖示。(I436a4) - 更新浮動工具列 API,改用
FloatingToolbarColors物件,而非單一容器顏色。(I9a054) - 新增及使用新的實驗性註解
ExperimentalMaterial3ComponentOverrideApi(Ia1eaf) Modifier.indicatorLine現在會採用文字欄位的形狀來處理剪裁作業。(I8c5f3、b/380704151)- 將實驗性的
FloatingAppBar函式重新命名為FloatingToolbar(I1dbf8) - 新增
floatingToolbarVerticalNestedScroll,可附加至可捲動的容器,根據超過門檻的捲動動作更新浮動工具列的展開狀態。(I6d65f) - 我們推出新的 API,可建立附有懸浮動作按鈕 (FAB) 的懸浮工具列。這個 API 提供彈性的自訂選項,可讓您水平或垂直排列工具列,並將 FAB 放在工具列的開頭或結尾。(I9e350)
修正錯誤
- 修正 Snackbar 無障礙功能問題,避免在
TalkBack處於開啟狀態時,Snackbar 在關閉時自行公告。(/I9db53)
外部貢獻
- 基礎架構中的
BasicTooltip和 Material 3 中的BasicTooltip/Tooltip均已通用化。(Ifc2e6)
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)
- 如文件所述,將修飾符參數移至 Scaffold 根目錄。這與 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)
修正錯誤
- 根據規格,篩選器晶片尾端圖示顏色已從「主要」更新為
OnSurfaceContainer。根據規格,所有晶片外框顏色已從「外框」更新為「外框變體」。(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) TextFieldLabelScopeprogress已重新命名為labelMinimizedProgressTextFieldLabelPositionDefault已重新命名為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現在會正確優先於主題的「Typography」文字樣式中定義的任何衝突顏色。此外,請注意,這項更新會調整日期挑選器函式中color參數的位置,並導入contentColor參數,用於自訂標題和標題文字顏色。(I30d03、b/347031394)- 將
SplitButton重新命名為SplitButtonLayout,並移除SplitButton顏色變體 API,變體將透過重複使用SplitButtonDefaults提供的按鈕變體達成。(I44c36) ModalBottomSheet現在有sheetGestureEnabled參數 (I856cb、b/288211587)- 已將
standardMotionScheme和expressiveMotionScheme重新命名為「標準」和「生動」。現在只要呼叫MotionScheme.standard()和MotionScheme.expressive(),即可透過MotionScheme同伴物件存取這兩個函式。(Iceccf) - 在純文字和進階工具提示中新增
maxWidth參數。純文字工具提示的預設設計規格為 200 dp,豐富工具提示則為 320 dp。(I30ce9)
修正錯誤
- 現在透過狀態的
displayedMonthMillis設定時,DatePicker和DateRangePicker會正確更新顯示的月份。(If9e47、b/333414302) - 「
ModalBottomSheet」內容現在會將內容移出狀態列。(I5114c、b/321877275、b/336962418、b/342093067) - [Bottom Sheet] Change back callback priority to
PRIORITY_DEFAULTto allow IME keyboard to dismiss first. (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可讓文字欄位同時顯示標籤和預留位置,即使欄位未處於焦點狀態也一樣。(I1ef2c) - 為密碼輸入欄位新增 Material
SecureTextField和OutlinedSecureTextField。(I7e22d) - 在文字欄位標籤中新增範圍,以查詢動畫進度。(If5ec8)
- 在工具提示中新增對
MotionEvent.CLASSIFICATION_DEEP_PRESS的支援。(I62e6a) TimePickerState的isAfternoon現在是擴充 val,而非介面中的 var,並已重新命名為isPm(I89a97)- 更新字體排版類別,支援強調的字體比例。(Ifa13c)
- 新增
ModalWideNavigationRailAPI,並將ModalExpandedNavigationRailAPI 重新命名為DismissibleModalWideNavigationRail。(Ic9118) - 更新
FloatingAppBarScrollBehavior,自動計算screenOffset,不需@Composable。(Idf349) - 更新
LoadingIndicatorAPI,修正預設物件的命名。在PullToRefresh中新增了LoadingIndicatorElevation常數。(I1d72b) - 更新
LoadingIndicatorAPI,修正預設物件的命名。在PullToRefresh中新增了LoadingIndicatorElevation常數。(I1d72b) - 在
LinearWavyProgressIndicator和CircularWavyProgressIndicator的不確定變體中新增amplitude和waveSpeed參數。(I2a0c5) - 支援根據圖示切換按鈕的按下或勾選狀態,變更按鈕形狀。(Ibc781)
- 更新字體排版類別,支援強調的字體比例。(Ifa13c)
SplitButton形狀會根據預設 / 按下狀態變形。移除了AnimatedTrailingButtonAPI,因為TrailingButtonAPI 可提供相同的自訂項目 (I95066)- 新增修飾符,為顯示和隱藏 FAB 的動作加上動畫效果,例如在內容捲動時。(I8338d)
- 在
ButtonGroupDefaults中新增已連結的按鈕群組形狀和間距,以用於範例。(I68e30) - 分割按鈕會為尾端按鈕新增水平邊框間距,並根據開始和結束角落的差異啟用光學置中 (I122e2)
- 推出新的 Material
MotionScheme,可設定元件動作的配置。配置是透過MaterialTheme設定。(Id50c2)
修正錯誤
- 對
Scaffold子項可組合函式套用正確的焦點遍歷索引。順序為topBar、bottomBar、FAB、內容、SnackBar。(I5936b) - 修正
DatePicker和DateRangePicker的問題:在特定語言代碼和格式架構中,部分日期元素 (例如月份名稱) 不會以大寫字母開頭。(I1430f) - 整合 FAB 和 FAB 選單元件符記 (對邊框間距和文字進行小幅視覺更新) (Ib57f3)
ModalBottomSheet現在位於語意遍歷順序的第一個位置,後面接著是半透明遮罩。(I436f9、b/358594665)- 修正在無邊框模式下,於導覽藥丸下方捲動時,底部應用程式列不會完全消失的問題 (I3ee21)
Compose Material3 1.3 版
1.3.2 版
2025 年 4 月 9 日
發布 androidx.compose.material3:material3-*:1.3.2。1.3.2 版包含這些修訂項目。
修正錯誤
ListItem會修正其內建高度計算,現在會在版面配置中保留適當的空間量。- 移除過多的
NavigationBarItem標籤邊框間距,正確對齊規格。 - 修正 RTL 模式下的
TabRow版面配置。
1.3.1 版本
2024 年 10 月 30 日
發布 androidx.compose.material3:material3-*:1.3.1。1.3.1 版包含這些修訂項目。
修正錯誤
- 現在透過狀態的
displayedMonthMillis設定時,DatePicker和DateRangePicker會正確更新顯示的月份。(If9e47、b/333414302) - 修正將可選取的最低年份設為未來年份時,
DatePicker和DateRangePicker中的當機問題。(I78656、b/319395747) - 修正日期挑選器問題,以便在套用更新後的
SelectableDates執行個體時更新 UI。(Iad59a、b/290135807、b/339898760) - 將底部功能表使用的返回回呼優先順序變更為
PRIORITY_DEFAULT,允許輸入法編輯器鍵盤優先關閉。(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) - 我們稍微調整了 Surface 和 Surface container 的基準角色,在淺色和深色主題中提供更多色調。(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支援高程,並更新「下拉式重新整理」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遮罩中新增關閉工作表語意。(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,而不是提供RippleConfiguration至isEnabled = false。(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,可視需要自訂刻度 (I0c048)
API 變更
- 除了正常樣式、懸停和焦點樣式外,文字連結現在也提供按下狀態樣式選項 (I5f864、b/139312671)
- 更新
CarouselItemInfo,公開項目裁剪的遮罩 Rect (I785d8) - 已從 Material 3 公用 API 中移除
BasicTooltipState。在 Foundation 的BasicTooltip穩定之前,這項功能會與TooltipState合併。(Icda29) - 新增
TextDefaults物件,內含建構LinkAnnotation和剖析套用MaterialTheme至連結的 HTML 標記字串的方法 (I98532、b/139312671) ExposedDropdownMenuBoxScope不再允許子類別。外露式下拉式選單現在有MenuAnchorType,應傳遞至menuAnchor,以支援更完善的無障礙功能。請使用這個方法,不要再將focusable傳遞至ExposedDropdownMenu(這個做法現已淘汰)。menuAnchor有新的參數可控制enabled狀態。(I55ee6、b/257209915、b/308840226)- 修正停用時
OutlinedButton的邊框顏色。新增了可取得啟用狀態的ButtonDefaults.outlinedButtonBorder("enabled")多載。(Ie650b、b/318461363) - 新增
CarouselItemInfo類別,協助用戶端取得商品尺寸資訊。(I9070c) - 不含介面容器的
ColorScheme建構函式現已淘汰,請遷移至包含介面容器的建構函式。(I35c11) - [Outlined]
TextFieldDefaultsContainerBox已重新命名為Container。(Ie8d3b)
修正錯誤
- 如果
sheetSwipeEnabled為 false,BottomSheetScaffold將不再從巢狀捲動中捲動。(I5e1c1、b/306464779) - 已移除
IconButtonSamples.kt中的部分ExperimentalMaterial3ApiOptIn 註解。(I111d1)
1.3.0-alpha04 版本
2024 年 4 月 3 日
發布 androidx.compose.material3:material3-*:1.3.0-alpha04。1.3.0-alpha04 版包含這些修訂項目。
新功能
- 新增 Material3 輪播的兩個實驗性版本 -
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) - 在 Carousel 的
CarouselState伴隨物件中新增實驗性標記。(I94154) - 淘汰
LocalMinimumInteractiveComponentEnforcement,並推出LocalMinimumInteractiveComponentSize取而代之。(I7a7ac) SearchBarColors建構函式現在是公開函式。(I769ca)- 在
SwipeToDismissBox中新增gesturesEnabled參數。(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實作。除了可編輯文字欄位的可聚焦選單可能會在鍵盤輸入時關閉,其餘行為應相同。
修正錯誤
- 我們稍微調整了 Surface 和 Surface container 的基準角色,在淺色和深色主題中提供更多色調。(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」設為有效。將onValueChangeFinished包裝在rememberUpdatedState中。(I82ab2、b/322269951) - 導覽元件現在會使用新的
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)- 更新 Bottom Sheets 容器顏色和拖曳控點顏色。(I72a0a)
RichTooltip容器顏色現在是SurfaceContainer。(Ia8b45)SearchBar容器顏色現在是SurfaceContainerHighest。SearchBarDefaults.TonalElevation現已改名為0.dp。(I88604)- 更新切換按鈕,停用並取消選取軌道/圖示,以運用
SurfaceContainerHighest顏色角色。(I7687a) AlertDialog容器顏色現在是SurfaceContainerHigh。(Ie0433)BottomAppBar容器顏色現在是SurfaceContainer。TopAppBaronScroll顏色現在為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 元件,現在會公開可為空值的MutableInteractionSource,預設值為null。這裡沒有語意變更:傳遞空值表示您不希望提升MutableInteractionSource,且系統會在元件內建立MutableInteractionSource(如有需要)。變更為空值可讓某些元件永遠不會分配MutableInteractionSource,其他元件則只會在需要時延遲建立執行個體,進而提升這些元件的效能。如果您未使用傳遞至這些元件的MutableInteractionSource,建議改為傳遞空值。建議您在自己的元件中進行類似變更。(I41abb、b/298048146) - 新增
RippleConfiguration和LocalRippleConfiguration,可使用固定值自訂每個元件 / 子樹狀結構的漣漪效果。舉例來說,變更您無法控制的元件顏色,或是停用元件的漣漪效果。在大多數情況下,應使用預設值:這些 API 是個別元件 / 有限子樹狀結構的自訂逸出閘。如要進行更廣泛的變更和自訂設計系統,請改用createRippleModifierNode建構自己的漣漪效果。(I7b5d6、b/298048146) - 在 Material 3 中新增了漣漪效果 API,取代已淘汰的
rememberRipple。此外,還新增了暫時的CompositionLocal、LocalUseFallbackRippleImplementation,可將 material3 元件還原為使用已淘汰的rememberRipple/RippleThemeAPI。這項功能將在下一個穩定版中移除,僅適用於提供自訂RippleTheme的情況,做為暫時的遷移輔助工具。(I34cbc、b/298048146)
修正錯誤
- 移除
ModalBottomSheet內的子組合,以提升效能。修正問題:ModalBottomSheet與LookaheadScope搭配使用時,可能會在特定情況下異常終止。(I2a198) - 移除
BottomSheetScaffold內的子組合,以提升效能。修正問題:在特定情境下,BottomSheetScaffold會與LookaheadScope搭配使用時異常終止。(Ie6401) - 徽章對齊方式已調整,會更靠近錨定內容的中心,且位於右上角。(I18a28)
- 修正
DateRangePicker的無障礙功能問題,避免螢幕閱讀器、切換控制和語音存取功能將「月-年」文字標題視為可執行的動作。(I2ac55) - 修正
mediumTopAppBarColors參數順序錯誤。(Ibe64a)
1.2 版本
1.2.1 版本
2024 年 3 月 6 日
發布 androidx.compose.material3:material3-*:1.2.1。1.2.1 版包含這些修訂項目。
修正錯誤
- 讓滑桿再次處於穩定狀態。再次將「
State.onValueChangeFinished」設為有效。將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 元件的強化功能。
- 底部應用程式列 (RTL 對齊方式,捲動時自動隱藏)
- 分頁視覺更新
- 徽章 (對齊更新)
實驗性 API 升級為穩定版!
提升效能
- 詳情請參閱這篇網誌文章!
1.2.0-rc01 版本
2024 年 1 月 24 日
發布 androidx.compose.material3:material3-*:1.2.0-rc01。查看 1.2.0-rc01 版的修訂項目。
修正錯誤
- 修正
mediumTopAppBarColors參數順序錯誤。(Ibe64a) - 修正
1.2.0-beta02中導入的錯誤,該錯誤不會根據containerColor參數值更新contentColor。CardDefaults.cardColors(Iee041、b/319671246) - 修正
1.2.0-beta02中導入的disabledContentColor錯誤,並進行小幅最佳化。(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
TooltipAPI 啟用工具提示插入符號。(Ibf767) SwipeToDismissState、rememberSwipeToDismiss和SwipeToDismissValue都已重新命名為_SwipeToDismissBox_。(I68d6d)
修正錯誤
- 修正
ListItem結尾邊框間距值,使其符合規格。(Ibd68b、b/305342674) - 帶有外框的資訊卡外框顏色現在已正確對應至
OutlineVariant。(I75480、b/310979715) - 動態色彩現在會從系統定義的色彩角色中提取。這項變更可提升無障礙內容的對比度,並讓動態色彩更符合 Material 規格。(I1de96)
- 修正 Android T/13 以上版本在
android:enableOnBackInvokedCallback="true"時的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和DismissValueAPI。這些值已合併為SwipeToDismissValue,其值會指出SwipeToDismissBox的位置和方向。「DismissState.progress」現已標示為介於「0.0」和「1.0」之間的「FloatRange」。已移除已淘汰的DismissStateSaver 和建構函式。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,兩者共同在 Material Design 3 中提供「下拉式重新整理」實作。(I16456、b/261760718)
API 變更
- 將
SwipeToDismissBox、DismissDirection和DismissValue標示為實驗性質。(I517b0) - 將
SwipeToDismiss重新命名為SwipeToDismissBox。將background重新命名為backgroundContent,並將dismissContent重新命名為結尾的contentlambda。(I7f4d3) - 將
ChipElevation和SelectableChipElevation的建構函式設為公開。(Ie0c48、b/308432421) - 正在新增「
ModalBottomSheetProperties」。正在將「securePolicy」移至「ModalBottomSheetProperties」。將isFocusable和shouldDismissOnBackPress新增至ModalBottomSheetProperties。這些新的布林值有助於判斷模態底部功能表應如何處理 IME 事件。(Iea56f、b/278216859) - 更新
RangeSlider和Slider狀態,移除initialOnValueChange、初始前置字元和適當的 kdocs。(I57d30) - 淘汰
ChipBorder類別及其相關聯的函式呼叫,建議改為直接使用BorderStroke。(I89cc2) - 基礎工具提示 API 現已改為
@ExperimentalFoundationApi。(I30b0b) TabRow和ScrollableTabRow不再淘汰。新的主要和次要變體會標示為實驗性質。(I0def6)- 篩選器和輸入方塊現在會直接使用
BorderStroke。(I07a8d) SegmentedButton現在會直接使用BorderStroke。(I89b9b)- 將一般
AlertDialog函式重新命名為BasicAlertDialog,並淘汰先前的函式。(Idbe52) - 將
SwipeToDismissAPI 重新命名為SwipeDismiss,並將新的SwipeDismissAPI 升級為穩定版。(I14cbe) - 將
tonalElevation和shadowElevation新增至工具提示 API。此外,由於TooltipBox、PlainTooltip和RichTooltipAPI 意外發布為穩定版,因此我們將這些 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) - [導覽軌/列] 支援指標的透明色。(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,改用新的AnchoredDraggableAPI。DrawerState的animateTo已替換為開啟和關閉方法,且偏移值現在會以浮點數而非狀態物件的形式公開。您可以直接透過currentOffset存取抵換單位。(I0a72c) - 新增非可組合函式,可直接建立
DatePickerState和DateRangePickerState。在需要時,這些函式可做為可組合函式rememberDatePickerState和rememberDateRangePickerState的替代方案。(I70326、b/291524052) - Fixed 和 Scrollable
TabRows現在有 Primary 和 Secondary 變體。這些項目會正確對應至 Material 3 中定義的顏色和指標行為。 PrimaryScrollableTabRow和SecondaryScrollableTabRow現在會公開捲動狀態。(Iec8f5、b/260572337)- 新增
sheetMaxWidth參數,開發人員可設定此參數,指定工作表可跨越的最大寬度。如果需要跨越整個螢幕寬度的工作表,可以為參數傳遞 Dp.Unspecified。(Ifb7c9、b/266697696) - 重新新增
PlainTooltipBox和RichTooltipBoxAPI 做為已淘汰的方法。(I246fa)
修正錯誤
- 修正問題:以具有特定日期架構的
DatePickerFormatter初始化DatePicker時,轉換為日期模式 (例如 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)- 為符合規格,色調高度不再以不同互動狀態進行動畫處理 (Icdd12)。
API 變更
- 新增
BottomAppBar,以BottomAppBarScrollBehavior做為參數,在捲動內容時自動隱藏。此外,還新增了FabPosition.EndOverlay,讓 FAB 能夠在 Scaffold 中覆蓋底部應用程式列,而不是錨定在底部應用程式列上方。(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)- 將 shape 變更為必要參數。在形狀輔助函式中,將
position重新命名為index。(I34941) - 更新
DatePickerformatWithSkeleton,加入地圖做為快取,以提升效能。(I3195f) - 在
compose.foundation中新增BasicTooltipBox,並更新PlainTooltipBox和RichTooltipBox,以搭配新的PlainTooltip和RichTooltip可組合函式使用TooltipBox。(I79e1d)
修正錯誤
dynamicLightColorScheme和dynamicDarkColorScheme現在會傳回表面和surfaceContainer角色的高彩度顏色。(I5e901)- 修正問題:在
LookaheadScope內的 Scaffold 中,部分使用 Subcomposition 的元件 (例如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) - 在實驗性 Material 3 API 中,將
ClosedFloatingPointRange的使用方式改為較輕量的FloatRange,盡量減少自動裝箱。(I4aab5) - 為
FabPosition新增「開始」對齊方式 (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,且明確的lineHeight(以 sp 為單位) 已新增至Typography的TextStyle。如要自訂這些值,請參閱 API 說明文件,並參閱這篇網誌文章,深入瞭解這些異動。(I6266f、Icabc3)
新功能
- 新增
RangeSlider的多載,這是元件的有狀態版本。建立RangeSliderState,其中包含目前有效軌道的所有資訊、RangeSlider元件的測量結果,以及拖曳和手勢邏輯。(I8c270) - 搜尋列現在支援陰影,可透過新加入的
shadowElevation參數設定。(Ia5369、b/271040353) ColorScheme現在支援新的SurfaceContainer角色。- 現在可以使用
LocalTonalElevationEnabled本機組合停用 Surface 色調高程疊加層。(Ic203c、b/277774590)
API 變更
- 開啟元件顏色建構函式。(I8c4a6)
- 在兩個工具提示 API 中新增可聚焦參數,讓開發人員決定工具提示是否要取用觸控事件。請注意,這可能會中斷無障礙焦點的自動遍歷。(Ie32d8)
- 針對效能和記憶體配置進行最佳化調整,(Iede48)
- 公開
DefaultSizeClasses並為WindowSizeClasses建立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中新增視窗插邊參數。- 現在,
windowInsets設為零時,ModalBottomSheet的遮罩可能會繪製在狀態列後方 - 更新預設
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) - 從穩定版 API 中移除
TimePicker,狀態 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)
- 修正以 23 小時初始化時,
TimePickerState會傳回錯誤時數的問題。(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中新增視窗插邊參數。- 現在,
windowInsets設為零時,ModalBottomSheet的遮罩可能會繪製在狀態列後方 - 更新預設
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 變更
- 從穩定版 API 中移除
TimePicker,狀態 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現在會實作工作表內容的快速滑動。(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) - 將「Collapsed」重新命名為「
SheetValue」PartiallyExpanded,以便更準確且彈性地描述此狀態下的行為。(Ia1491) - 更新
ListItem參數名稱,從 _text 改為 _content。現在預設 getter 會在適當位置使用ReadOnlyComposables。(I69a25) - 將實驗性互動式 Surface API 升級。(I90d59、b/261561812)
修正錯誤
- 修正
ModalBottomSheet的HalfExpanded狀態計算錯誤,導致工作表似乎會浮動的問題。(I45e84、b/268411386) - 在半透明幕簾輕觸事件中新增
confirmValueChange檢查,以取得ModalBottomSheet。(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()搭配使用的時間輸入可組合項,並遵循時間輸入的 M3 規格 (Ia4fab) - 新增 Material 3
DateRangePickerAPI,用於選取日期範圍。(I7a6c3、b/267194809) - 新增 Material 3 輸入模式支援,可透過
DateRangePickerAPI 選取日期範圍。(Ifdbc4) - 文字欄位顏色現在可供自訂:
- 根據焦點和錯誤狀態,設定輸入欄位和預留位置文字的顏色。
textColor參數已重新命名為unfocusedTextColor,placeholderColor則重新命名為unfocusedPlaceholderColor。 - 根據錯誤狀態,使用新的
errorContainerColor參數設定已填寫文字欄位的容器顏色。
- 根據焦點和錯誤狀態,設定輸入欄位和預留位置文字的顏色。
- 展開式下拉式選單文字欄位顏色已更新參數,支援新的前置字元和後置字元 API。(I9c8b4、b/254284181、b/264766350)
API 變更
- 還原部分 Slider API 版本,並移除新實驗性 Slider (含自訂指標和軌跡) 涵蓋的冗餘 Slider 超載。將
RangeSlider升級為穩定版。(Ie8fbd) - 在晶片的升級函式中,已將
defaultElevation重新命名為elevation。(I0f872) - 下列 Material 3 文字欄位 API 不再是實驗性 API:
TextField、OutlinedTextField、textFieldWithLabelPadding、textFieldWithoutLabelPadding、outlinedTextFieldPadding。(Ieb5c0、b/261561819) TimePickersis24Hour使用系統設定 (I18856)- 從 Scaffold API 中移除實驗性註解。(Ibb51e、b/261565765、b/261436953)
修正錯誤
ModalBottomSheet預設形狀現在一律為SheetDefaults.ExpandedShape。(I0dfca)- 改善 Material 3
DatePicker和DateRangePicker的無障礙功能。(I5087e) - 修正最大高度限制條件會傳播並可能導致當機的錯誤。(I30d8c)
- 從可點選和可選取的介面移除語意角色,並更新使用這些角色的元件,透過修飾符.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和ListItemColorsAPI 升級為非實驗 API (I7e7fa、b/261438882) - 將
SliderPositions、SliderDefaults.Thumb和SliderDefaults.Track升級為穩定版,新增內含自訂指標及測試群組的非實驗Slider和RangeSliderAPI,以及淘汰先前的Slider和RangeSliderAPI (Ie5ea6、b/261566890) - 將
Modifier.tooltipAnchor()設為公開,讓開發人員能夠將其傳送到錨定標記,藉此指明使用者長按時要顯示的工具提示。我們還更新了PlainTooltipBoxAPI,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 選擇單一日期的初始
DatePickerAPI。我們仍會對這個 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和ElevatedFilterChipAPI 以移除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) - 新增用於定義跨軸大小的
LazyVerticalGridAPI (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)
- 變更了
SurfaceAPI,以便接收 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 一節。