状态栏颜色在抖动中不会改变

时间:2019-05-16 14:47:08

标签: flutter

我有一个页面想要具有不同的样式,我试图通过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,
)

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

1 个答案:

答案 0 :(得分:0)

要设置状态栏颜色,应使用“ 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();
    }