ThemeData.useMaterial3
标志默认值为 true
摘要
#Material 库已更新以匹配最新的 Material Design 规范。更改包括新的组件、新的组件主题和更新的组件视觉效果。从本版本开始,ThemeData.useMaterial3
默认设置为 true
。
背景
#Flutter 的 Material 部件现在完全支持 Material 3,并且从 Flutter 3.16 开始,Material 3 成为默认样式。
Material 3 组件的外观主要由 ThemeData.colorScheme
和 ThemeData.textTheme
的值决定。ColorScheme 使创建深色和浅色主题变得更容易,从而使您的应用既美观又符合可访问性要求。要进一步自定义 Material 3 组件的外观,请将组件主题添加到您的 ThemeData
中,例如 ThemeData.segmentedButtonTheme
或 ThemeData.snackBarTheme
。
此外,Material 3 通过使用缓动和持续时间令牌来改进运动。这意味着 Material 2 曲线已重命名为包含“legacy”(传统)一词,最终将被弃用并删除。
查看 Material 3 示例库 以测试所有新组件并将其与 Material 2 进行比较。
迁移指南
#在 3.16 版本发布之前,这些更改是通过 ThemeData
上的 useMaterial3
主题属性“选择加入”的。从本版本开始,useMaterial3
默认值为 true
。您仍然可以通过在 MaterialApp
主题中指定 useMaterial3: false
来选择退出 Material 3 版本的 Material 库。
此外,一些部件不能仅仅更新,而是需要全新的实现。因此,当您看到它在 Material 3 中运行时,您的 UI 可能看起来有点奇怪。要解决此问题,请手动迁移到新的部件,例如 NavigationBar
。
有关更多详细信息,请查看 GitHub 上的 Material 3 总体问题。
时间线
#包含在版本中:3.13.0-4.0.pre
稳定版本:3.16
参考
#文档
API 文档
相关问题
相关 PR
除非另有说明,否则本网站上的文档反映了 Flutter 的最新稳定版本。页面最后更新于 2024-04-04。 查看源代码 或 报告问题.