Material 主題系統更新
概述
#CardTheme、DialogTheme 和 TabBarTheme 已重構,以符合 Flutter 的元件主題約定。已新增 CardThemeData、DialogThemeData 和 TabBarThemeData 來定義元件視覺屬性預設值的覆蓋。
在卡片主題規範化期間,ThemeData.cardTheme 的型別更改為 Object?,以同時接受 CardTheme 和 CardThemeData,從而實現重大更改的平滑過渡。同樣的方法也用於 dialogTheme 和 tabBarTheme。
為了完成過渡並完全符合 ThemeData 約定,ThemeData.cardTheme 的型別已更改為 CardThemeData?;ThemeData.dialogTheme 的型別已更改為 DialogThemeData?;ThemeData.tabBarTheme 的型別已更改為 TabBarThemeData?。
遷移指南
#以前,ThemeData.cardTheme 的型別是 Object?,以同時接受 CardTheme 和 CardThemeData。現在型別已更改為 CardThemeData?,如果使用 ThemeData.cardTheme,則需要進行遷移。同樣,ThemeData.dialogTheme 和 ThemeData.tabBarTheme 的型別也應分別遷移到 DialogThemeData 和 TabBarThemeData。
遷移前的程式碼
final ThemeData theme = ThemeData(
cardTheme: CardTheme(),
dialogTheme: DialogTheme(),
tabBarTheme: TabBarTheme(),
);遷移後的程式碼
final ThemeData theme = ThemeData(
cardTheme: CardThemeData(),
dialogTheme: DialogThemeData(),
tabBarTheme: TabBarThemeData(),
);時間線
#已於版本:3.31.0-0.0.pre 登入
穩定版本:3.32
參考資料
#API 文件
相關 PR