组件主题规范化
概述
#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