Material 主題系統更新
`CardTheme`、`DialogTheme` 和 `TabBarTheme` 已經標準化,以遵循 Flutter 的 Material 函式庫中元件主題(component themes)的慣例。在 `ThemeData` 中,這些屬性的型別也已相應變更。
摘要
#
CardTheme、DialogTheme 和 TabBarTheme 已經重構,以符合 Flutter 元件主題(component themes)的慣例。CardThemeData、DialogThemeData
和 TabBarThemeData 已新增,用於定義元件視覺屬性的預設值覆寫。
在卡片主題(card theme)標準化過程中,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:
Unless stated otherwise, the documentation on this site reflects Flutter 3.44.0. Page last updated on 2026-06-14. View source or report an issue.