【问题标题】:Status bar color doesn't change in flutter状态栏颜色在颤动中不会改变
【发布时间】:2019-10-03 21:23:18
【问题描述】:

我有一个想要不同风格的页面,我尝试通过 SystemChrome 更改状态栏颜色,如下所示:

class PageState extends State<Page> {
 @override
 void initState() {
 SystemChrome.setSystemUIOverlayStyle(
     SystemUiOverlayStyle(statusBarColor: Colors.white));
 super.initState();
 }
}

并且还设置了appBar主题:

appBar: AppBar(
    brightness: Brightness.light,
    backgroundColor: Colors.white,
)

但状态栏仍然使用主页的默认颜色。
另外值得一提的是,如果我尝试在主页上使用此方法更改颜色,效果很好。

【问题讨论】:

  • 是的,我看到了,但我想也许我可以在不为一个屏幕添加另一个库的情况下解决问题
  • 也许像您自己制作的顶级解决方案一样stackoverflow.com/questions/51012360/…
  • 状态栏需要什么颜色?你得到什么颜色?
  • @Hosar 我希望它是白色的,但我得到了红色(我在主页上设置的那个)

标签: flutter


【解决方案1】:

要设置状态栏颜色,你应该在'build'方法中编写代码,如下例 -

   @override
      Widget build(BuildContext context) {
        SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark.copyWith(
            statusBarColor: Color.fromRGBO(41, 167, 77, 50),
            //or set color with: Color(0xFF0000FF)
            statusBarIconBrightness: Brightness.dark));
    return Scaffold();
    }

【讨论】:

  • 谢谢你,我的错
猜你喜欢
  • 2021-04-13
  • 2021-04-19
  • 2015-11-06
  • 2014-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 1970-01-01
相关资源
最近更新 更多