Compose Material 3
最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2023 年 2 月 8 日 | 1.0.1 | - | - | 1.1.0-alpha06 |
结构
Compose 由 androidx
中的 7 个 Maven 组 ID 构成。每个组都包含一套特定用途的功能,并各有专属的版本说明。
下表介绍了各个组的内容,点击链接即可查看其版本说明。
组 | 说明 |
---|---|
compose.animation | 在 Jetpack Compose 应用中构建动画,丰富用户体验。 |
compose.compiler | 借助 Kotlin 编译器插件,转换 @Composable functions(可组合函数)并启用优化功能。 |
compose.foundation | 使用现成可用的构建块编写 Jetpack Compose 应用,还可扩展 Foundation 以构建您自己的设计系统元素。 |
compose.material | 使用现成可用的 Material Design 组件构建 Jetpack Compose UI。这是更高层级的 Compose 入口点,旨在提供与 www.material.io 上描述的组件一致的组件。 |
compose.material3 | 使用 Material Design 3(新一代 Material Design)组件构建 Jetpack Compose UI。Material 3 中包括了更新后的主题和组件,以及动态配色等 Material You 个性化功能,旨在与新的 Android 12 视觉风格和系统界面相得益彰。 |
compose.runtime | Compose 编程模型和状态管理的基本构建块,以及 Compose 编译器插件的目标核心运行时。 |
compose.ui | 与设备互动所需的 Compose UI 的基本组件,包括布局、绘图和输入。 |
声明依赖项
如需添加 Compose 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库。
在应用或模块的 build.gradle
文件中为所需制品添加依赖项:
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.1.2" implementation "androidx.compose.material3:material3-window-size-class:1.1.2" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.1.2") implementation("androidx.compose.material3:material3-window-size-class:1.1.2") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
版本 1.1
版本 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
函数,以显示符合 Material 3 规范的时间选择器。该函数会与TimePickerState
和便捷方法rememberTimePickerState
结合使用 (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
不再可为 null,而是现在有默认值。(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
添加了自定义滑块和滑道。
版本 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 中包含这些提交内容。
新功能
- 推出了通过日历界面选择单个日期的初始
DatePicker
API。此 API 仍在更改中。(I722b9) - 通过
PlainTooltipBox
添加了对普通提示的支持。(I0cdfb) - 搜索栏 (Iad128)
SwipeToDismiss
(I458a8、b/242889540)
API 变更
- 在 Surface 上添加了
IsContainer
语义属性。此属性将在稍后的更改中使用,它会根据 Surface 等元素的语义含义确定遍历顺序。(I63379) - 将与抽屉式导航栏相关的 API 标记为稳定。(Iab01e、b/261439597)
- 为圆形进度指示器添加了滑道颜色参数,并为圆形和线形进度指示器添加了描边上限参数。(Ie668c、b/216325962、b/222964817)
- 更多已废弃隐藏函数的返回值类型可为 null (Ibf7b0)
- 添加了
Modifier.minimumInteractiveComponentSize
。它可用于预留至少 48dp 的大小,以便在元素尺寸较小时消除触摸交互的歧义。(I33f58、b/258495559) - 为具有内容槽位的
AlertDialog
可组合项添加了实验性 API。(Iec4a2)
bug 修复
- 进度指示器的进度现已正确限定到预期范围。(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()
,并将 Modifiers 公开。(Ie44e1) - 为具有图标的文本按钮添加了新的默认内容内边距供使用。(I8f662)
- 为导航栏和侧边栏添加了已停用的颜色。(Ia7892、b/258867034)
- 添加了 Modifier API,用于查询祖先实体滚动信息。(I2ba9d、b/203141462)
- 在手势可以变为滚动事件时,用于在
Clickable
中正确延迟按下互动。 - 修复了在
Scrollable ViewGroup
内使用时Clickables
无法正确延迟涟漪效果的问题。 - 更新了抽屉式导航栏和动作条,以便在手势可变为滚动事件时正确延迟按下操作。
依赖项更新
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 Text、
TextField
和OutlinedTextField
中添加了minLines
参数,从而能够根据行数设置组件的最小高度 (I4af1d) - 废弃了
TopAppBarDefaults smallTopAppBarColors
函数,取而代之的是创建TopAppBar
时应使用的新topAppBarColors
函数。(Ie6cb9) - 向
BasicText
和BasicTextField
添加了minLines
参数。它允许根据行数设置这些可组合项的最小高度(I24294、b/122476634)
bug 修复
- 将 Material3
IconButton
和IconToggleBotton
的内容裁剪到组件的状态层形状(例如圆形)上。(I9da8f) - 更新了 Material3 Medium 和 Large 顶部应用栏,以在整个界面上应用相同的背景颜色,并允许设置使用透明颜色值替换默认颜色。(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 中包含这些提交内容。
bug 修复
- 修复了使用 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 中包含这些提交内容。
bug 修复
- 更新了 Material3 Medium 和 Large 顶部应用栏,以在整个界面上应用相同的背景颜色,并允许设置使用透明颜色值替换默认颜色。(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
- 卡片
- 复选框
- 条状标签
- 对话框
- 分隔线
- 下拉菜单
- 列表
- 导航栏
- 抽屉式导航栏
- 导航栏
- 进度指示器
- 单选按钮
- Slider
- 开关
- 标签页
- 文本字段
- 顶部应用栏
- 图标
- Text
- 界面
- 布局
- 内容颜色
窗口大小类别
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)
bug 修复
- 已将“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
函数。请改为使用新的 TopAppBar 函数。(I74404、b/226918634) - 添加了对顶部应用栏滑动和贴靠行为的控制。(I15c81)
- 从 Divider 中移除了 startIndent,并移动了颜色以作为最后一个参数。(If7be2)
bug 修复
- 通过在对话框显示时读出 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
行为函数更新为可组合项,并为其顶部应用栏状态和动画规格提供默认值。(I642b3) - 更新了 FAB 组件签名,以与 Surface API 匹配 (I3afaa)
- 添加了对顶部应用栏、抽屉式导航栏、导航栏和侧边栏的边衬区内置支持。这些组件单独使用或与 Scaffold 搭配使用时,会自动为开发者处理边衬区。注意:此变更不会自动处理状态栏图标以及状态栏和导航栏的透明度。请继续手动完成上述操作,以确保实现最佳无边框体验。(I7e4e6、b/183161866)
- 更新了组件默认对象,以缩减 API Surface,便于未来实现灵活性和性能改进。(I31820)
- 对条状标签和抽屉式导航栏动作条参数进行了重新排序,以便在 API 内保持一致 (I45d0b)
- 从 Divider 中移除了
startIndent
,并移动了颜色以作为最后一个参数。(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 和 LeadingIconTab 的参数进行了重新排序,以便在 API 内保持一致 (Ie2637)
- 将
BadgeDefaults
标记成了实验性对象。(I98ef3) - 移除了已废弃的抽屉式导航栏函数。(I4f2db)
- 对 Material 3 中的滑块参数进行了重新排序,以便在 API 内保持一致 (I0aee7)
- 对
NavigationBar
和NavigationRail
参数重新排序,以便在 API 中保持一致 (I51cda) - 对 Material 3 中的参数进行了重新排序,以便在整个 API 中保持一致。(If4ae1)
- 对 Material 3 中的滑块参数进行了重新排序,以便在 API 内保持一致 (I62673)
- 图标参数已重命名为相关操作,以便与顶部应用栏保持一致 (Id75be)
- 将
Badge
和BadgedBox
标记成了实验性,因为锚点对齐仍为 influx。(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)
bug 修复
- 针对目录应用,从输入条状标签示例中移除了无效的尾随图标,以避免用户在此类应用中感到困惑。(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
中的参数名称从 values 更改为 value (I3b79a) - 对
InputChip
的实现进行了 API 方面的更改,以根据 Material Design 规范支持可选状态。针对所选停用状态,为FilterChip
颜色提供了额外的支持。(I55244、b/235792432) - 添加了
BottomAppBar
默认 FAB (Ida4c8) - 添加了
ColorScheme.surfaceColorAtElevation
(Id41af) - Compose 库中的接口现在使用 jdk8 默认接口方法构建 (I5bcf1)
WindowWidthSizeClass
和WindowHeightSizeClass
现在实现了 Comparable,因此可以使用运算符(<、<=、>=、>)和其他 API 进行比较。(I747d0)
bug 修复
- 更新了标记示例以提供更有意义的内容说明。(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 中包含这些提交内容。
bug 修复
- 滑块父项的宽度现在可以为 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 中包含这些提交内容。
新功能
- 向 Material 3 添加了
RangeSlider
(I18e38) - 添加了对 Material3
AssistChip
和InputChip
的支持 (I0d25a) - 添加了对 Material3
FilterChip
和SuggestionChip
的支持 (I9fdf3)
API 变更
- 将
TextFieldDefaults.BorderStroke
可组合项(用于在OutlinedTextField
中绘制边框描边)重命名为TextFieldDefaults.BorderBox
。(I5f295) - 切换 m3 视觉变化 (Iab30e)
- 允许将颜色传递给标准图标按钮。(Ia2445)
bug 修复
- 向 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 高度,从带有 FAB 的BottomAppBar
中移除了尾随 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)
bug 修复
- 更新了标准
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 添加了扩展型 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 变更
bug 修复
- 修复了 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)
bug 修复
- 更新了 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) - 以实验性 API 的形式添加了
PermanentNavigationDrawer
和DismissibleNavigationDrawer
。这些抽屉式导航栏非常适合大屏幕设备。(I5f8ab、b/218286829) - 添加了 Material 3 底部应用栏支持 (Ic432a)
NavigationDrawer
已重命名为ModalNavigationDrawer
(I1807d、b/218286829)- 添加了 Material 3 滑块类和令牌 (I1ccee)
- 添加了 Tab 实现,请参阅用法示例文档 (Ie0146)
bug 修复
- 修复了
TalkBack
屏幕阅读器线性导航选择空白的顶部应用栏标题的问题。(Id4690) - 为
FloatingActionButtonDefaults
添加了IconSize
。(Ia71cf) - 修复了在使用
LazyColumn
添加长文本时隐藏AlertDialog
按钮的bug。(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 变更
- 废弃了使用 onClick 回调的
Surface
函数。应使用InteractionSource
和Modifier.clickable()
创建可点击界面。(I211c6) - 为 FAB 添加了对“按下”和“聚焦”状态高度的支持。(Ibb584)
- 将
Surface
API 更改为接收 InteractionSource,允许控制其在不同状态下的外观。(Iafbc8)
bug 修复
- 在动态配色方案中添加了缺失的第三色(I456c4、b/214588434)
版本 1.0.0-alpha04
2022 年 1 月 26 日
发布了 androidx.compose.material3:material3:1.0.0-alpha04
。版本 1.0.0-alpha04 中包含这些提交内容。
API 变更
- 针对无复杂逻辑的现有方法,向其过载的方法添加了
NonRestartableComposable
。对于在所调用内部函数中重复的所有参数,这会减少编译器产生的记忆检查 (equals)。(I90490) - 添加了 Material 3 分隔线。(Ica5fc)
- 使用实验性 API 注解标记了 Checkbox 和 RadioButton。(Ie44bb)
- 添加了对 Material 3 进度指示器的支持。(Iff232、b/205023841)
bug 修复
- 将已停用的
TextButton's
容器颜色更新为透明(I6b248、b/213339737)
版本 1.0.0-alpha03
2022 年 1 月 12 日
发布了 androidx.compose.material3:material3:1.0.0-alpha03
。版本 1.0.0-alpha03 中包含这些提交内容。
bug 修复
- 向 Material 3 的
MaterialTheme
中添加了LocalIndication
。(I7ce4e) - 修复了向复选框应用的圆角半径存在的问题(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 中包含这些提交内容。
新功能
- 添加了对复选框和单选按钮的支持。
- 完成更新,现与 Kotlin
1.6.0
兼容
API 变更
- 从 Material 3 的 scaffold 中移除了抽屉式导航栏。(I04f51)
- 添加了 Material 3
Checkbox
支持。(Id5542) - 添加了 Material 3
RadioButton
支持。(I20334)
bug 修复
- 将
IconButton
涟漪效果半径从 40dp 缩减到了 20dp。(I68bbe、b/206674345) - 从
compose.material
中移植了用于Text
更改的字符串快速路径 (I30b03) - 修复了硬编码按钮始终处于启用状态的 bug。(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”部分。