元件主題規範化
概述
#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