alibaba/fish-redux

设置statusbar的颜色问题

Closed this issue · 2 comments

代码中main() 中设置了主题颜色

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);

然后应用内部分页面需要将statusbar的颜色设置成白色,尝试了在page的effect的Lifecycle.initState和Lifecycle.build中设置代码

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);

状态都未能修改成功,热更新的过程中如何在build中设置对应代码可以设置成功。
或者用flutter默认的StatefulWidget创建Page中的某个组件,然后在StatefulWidget的build方法中设置

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);

可以设置成功。

想请教下在fish-redux的page如何有效设置修改。

如果你用了AppBar, 可以看一下这段源码

下面这段代码或许能解决你的问题。

Widget buildView(SettingsState state, Dispatch dispatch, ViewService viewService) {
  return Scaffold(
    appBar: AppBar(
      centerTitle: true,
      elevation: 0.0,
      title: Text('设置'),
      brightness: Brightness.dark, // Brightness.dark | Brightness.light 与 SystemUiOverlayStyle.light | SystemUiOverlayStyle.dark
    ),
  );
}

如果你用了AppBar, 可以看一下这段源码

下面这段代码或许能解决你的问题。

Widget buildView(SettingsState state, Dispatch dispatch, ViewService viewService) {
  return Scaffold(
    appBar: AppBar(
      centerTitle: true,
      elevation: 0.0,
      title: Text('设置'),
      brightness: Brightness.dark, // Brightness.dark | Brightness.light 与 SystemUiOverlayStyle.light | SystemUiOverlayStyle.dark
    ),
  );
}

没有使用AppBar,用AppBar就不用SystemChrome.setSystemUIOverlayStyle来设置了