组件主题标准化
概述
#CardTheme
、DialogTheme
和 TabBarTheme
已重构,以符合 Flutter 组件主题的惯例。已添加 CardThemeData
、DialogThemeData
和 TabBarThemeData
,用于定义组件视觉属性默认值的覆盖项。Flutter 的发布版本会继续对这些组件主题进行标准化,以在 Material 库中提供更一致的主题设置体验。
迁移指南
#在 ThemeData
中
cardTheme
属性的类型已从CardTheme
更改为CardThemeData
。dialogTheme
属性的类型已从DialogTheme
更改为DialogThemeData
。tabBarTheme
属性的类型已从TabBarTheme
更改为TabBarThemeData
。
组件主题 xTheme.of()
方法和 Theme.of().xTheme
的返回类型也相应地更改为 xThemeData
。
迁移前的代码
dart
final CardTheme cardTheme = Theme.of(context).cardTheme;
final CardTheme cardTheme = CardTheme.of(context);
final DialogTheme dialogTheme = Theme.of(context).dialogTheme;
final DialogTheme dialogTheme = DialogTheme.of(context);
final TabBarTheme tabBarTheme = Theme.of(context).tabBarTheme;
final TabBarTheme tabBarTheme = TabBarTheme.of(context);
迁移后的代码
dart
final CardThemeData cardTheme = Theme.of(context).cardTheme;
final CardThemeData cardTheme = CardTheme.of(context);
final DialogThemeData dialogTheme = Theme.of(context).dialogTheme;
final DialogThemeData dialogTheme = DialogTheme.of(context);
final TabBarThemeData tabBarTheme = Theme.of(context).tabBarTheme;
final TabBarThemeData tabBarTheme = TabBarTheme.of(context);
时间线
#已在版本中发布: 3.27.0-0.0.pre
稳定版本:3.27
参考资料
#API 文档
相关 PR