可空的 CupertinoThemeData.brightness
概述
#CupertinoThemeData.brightness
现在可为空。
背景
#CupertinoThemeData.brightness
现在用于覆盖 Cupertino 组件的 MediaQuery.platformBrightness
。在此更改之前,当 CupertinoThemeData.brightness
getter 设置为 null 时,它会返回 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