如何使用 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上更改状态栏文本颜色[重复]

Flutter-如何在深色模式下更改状态栏文字颜色?

如何更改 Flutter WEB 中的“状态栏”颜色? (保存为书签后)

状态栏中图标的颜色 (Flutter)

Flutter中如何自定义状态栏?

Flutter系统导航栏和状态栏颜色[重复]