概述

#

CardThemeDialogThemeTabBarTheme 已重構,以符合 Flutter 的元件主題約定。已新增 CardThemeDataDialogThemeDataTabBarThemeData 來定義元件視覺屬性預設值的覆蓋。

在卡片主題規範化期間,ThemeData.cardTheme 的型別更改為 Object?,以同時接受 CardThemeCardThemeData,從而實現重大更改的平滑過渡。同樣的方法也用於 dialogThemetabBarTheme

為了完成過渡並完全符合 ThemeData 約定,ThemeData.cardTheme 的型別已更改為 CardThemeData?ThemeData.dialogTheme 的型別已更改為 DialogThemeData?ThemeData.tabBarTheme 的型別已更改為 TabBarThemeData?

遷移指南

#

以前,ThemeData.cardTheme 的型別是 Object?,以同時接受 CardThemeCardThemeData。現在型別已更改為 CardThemeData?,如果使用 ThemeData.cardTheme,則需要進行遷移。同樣,ThemeData.dialogThemeThemeData.tabBarTheme 的型別也應分別遷移到 DialogThemeDataTabBarThemeData

遷移前的程式碼

dart
final ThemeData theme = ThemeData(
    cardTheme: CardTheme(),
    dialogTheme: DialogTheme(),
    tabBarTheme: TabBarTheme(),
);

遷移後的程式碼

dart
final ThemeData theme = ThemeData(
    cardTheme: CardThemeData(),
    dialogTheme: DialogThemeData(),
    tabBarTheme: TabBarThemeData(),
);

時間線

#

已於版本:3.31.0-0.0.pre 登入
穩定版本:3.32

參考資料

#

API 文件

相關 PR