Nullable CupertinoThemeData.brightness
概述
#CupertinoThemeData.brightness 現在是可為空的。
背景
#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