可為空的 CupertinoThemeData.brightness
摘要
#CupertinoThemeData.brightness
現在可為空值 (nullable)。
背景
#CupertinoThemeData.brightness
現在用於覆寫 Cupertino 小工具的 MediaQuery.platformBrightness
。在此變更之前,當 CupertinoThemeData.brightness
設定為 null 時,其 getter 會回傳 Brightness.light
。
變更說明
#先前,CupertinoThemeData.brightness
是以 getter 實作。
dart
Brightness get brightness => _brightness ?? Brightness.light;
final Brightness _brightness;
現在它是一個儲存的屬性。
dart
final Brightness brightness;
遷移指南
#通常,CupertinoThemeData.brightness
在 Flutter 框架之外很少有用。若要取得 Cupertino 小工具的亮度,現在請改用 CupertinoTheme.brightnessOf
。
透過此變更,現在可以在 CupertinoThemeData
子類別中覆寫 CupertinoThemeData.brightness
,以變更亮度覆寫。例如:
dart
class AlwaysDarkCupertinoThemeData extends CupertinoThemeData {
Brightness brightness => Brightness.dark;
}
當 CupertinoTheme
使用上述 CupertinoThemeData
時,會為所有受此 CupertinoTheme
影響的 Cupertino 後代啟用深色模式。
時程
#已納入版本:1.16.3
在穩定版本中:1.17
參考資料
#設計文件
API 文件
相關議題
相關 PR
除非另有說明,否則本網站上的文件反映 Flutter 的最新穩定版本。 頁面最後更新於 2024-04-04。 檢視原始碼 或 回報問題。