如何使用 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 更改状态栏颜色?的主要内容,如果未能解决你的问题,请参考以下文章