如何使用 Flutter 更改状态栏颜色?
Posted
技术标签:
【中文标题】如何使用 Flutter 更改状态栏颜色?【英文标题】:How to change status bar color with Flutter? 【发布时间】:2021-02-04 02:05:44 【问题描述】:大家晚上好。
我有问题。我已经颤抖了很长一段时间了。这里我有两个 AScreen 和 BScreen 屏幕。对于 AScreen,我想要一个带有黑色图标的白色状态栏。而对于 BScreen 则有一个带有白色图标的红色状态栏。如何做到这一点??
我在屏幕 A 上使用 flutter_statusbarcolo 状态栏为红色 我导航到屏幕 B 状态栏为白色但当我返回屏幕 A 时状态栏保持白色(屏幕 B 的颜色)
【问题讨论】:
请提供最少的代码示例。 【参考方案1】:由于您想在每个屏幕上更改此设置,请在您的 appBar
上执行此操作,而不是屏幕的 Scaffold
。
使用
appBar: AppBar(
backgroundColor: Colors.red, // status bar color
brightness: Brightness.light, // status bar brightness
)
【讨论】:
【参考方案2】:AnnotatedRegion<SystemUiOverlayStyle>(value: SystemUiOverlayStyle(statusBarColor:Colors.white,),child: Scaffold(),)
仅将其效果应用于您包装的小部件。
【讨论】:
我检查了这个。除非您的屏幕包含 Appbar,否则它应该可以工作,因为 appbar 会覆盖其他样式! 是的,我当然有一个 appBar,我希望它与我的状态栏颜色相同 我在屏幕 A 上使用 flutter_statusbarcolo 状态栏为红色 我导航到屏幕 B 状态栏为白色但当我返回屏幕 A 时状态栏保持白色(屏幕 B)以上是关于如何使用 Flutter 更改状态栏颜色?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:不使用AppBar时如何在Android和iOS上更改状态栏文本颜色[重复]