可為空的 CupertinoThemeData.brightness
CupertinoThemeData.brightness 現在可為空,並且會如實回傳使用者指定的值(預設為 null)。
摘要
#
CupertinoThemeData.brightness
現在可為空。
背景說明
#
CupertinoThemeData.brightness
現在用於覆寫 Cupertino 元件 (Widget) 的 MediaQuery.platformBrightness。
在此變更之前,CupertinoThemeData.brightness
getter 在被設為 null 時會回傳 Brightness.light。
變更說明
#
過去 CupertinoThemeData.brightness
是以 getter 方式實作:
Brightness get brightness => _brightness ?? Brightness.light;
final Brightness _brightness;
它現在是一個儲存屬性:
final Brightness brightness;
遷移指南
#
一般來說,CupertinoThemeData.brightness
在 Flutter 框架之外很少會用到。
若要取得 Cupertino 元件 (Widget) 的亮度設定,
現在請改用 CupertinoTheme.brightnessOf。
隨著這項變更,現在可以在
CupertinoThemeData 的子類別中覆寫 CupertinoThemeData.brightness,
以變更亮度覆寫設定。例如:
class AlwaysDarkCupertinoThemeData extends CupertinoThemeData {
Brightness brightness => Brightness.dark;
}
當 CupertinoTheme 使用上述 CupertinoThemeData 時,
所有受此 CupertinoTheme 影響的 Cupertino 元件 (Widget) 子孫都會啟用深色模式 (dark mode)。
時程
#
合併於版本:1.16.3
穩定版發佈:1.17
參考資料
#設計文件:
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.