可为空的 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
除非另有说明,否则本网站上的文档反映了 Flutter 的最新稳定版本。页面上次更新于 2024-04-04。 查看源代码 或 报告问题.