【问题标题】:How to change the Status Bar color in Flutter when we are using an AppBar?使用 AppBar 时如何更改 Flutter 中的状态栏颜色?
【发布时间】:2019-12-22 07:34:58
【问题描述】:

我知道我们可以使用以下方法更改状态栏:

但是文档提到AppBar 会自动设置状态栏颜色,所以我的问题是,当我有一个AppBar 时,如何设置状态栏颜色,但我想定义我自己一个特定的颜色,而不是让AppBar 自动完成?

【问题讨论】:

    标签: flutter flutter-layout


    【解决方案1】:

    我想自己定义一个特定的颜色,而不是让 AppBar 自动完成?

    使用 SystemChrome 将覆盖 Appbar 设置。

    如果您想自己设置颜色,请使用您曾经提到过的以下函数或在 initstate 函数中。

    SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
      statusBarColor: Colors.yellow.shade600,
      statusBarBrightness: Brightness.light,
      statusBarIconBrightness: Brightness.dark,
    ));
    

    这将覆盖 Appbar 设置

    【讨论】:

    • 我试图在AppBar之前的构建函数中定义它,所以我猜它必须在initState中?在它调用导航到新路线之前,我让它工作在前一个屏幕中。
    • @mFeinstein 是的,似乎就是这样。 initstate 对我来说就像一种魅力,即使在导航时也能保持颜色,直到我手动更改。
    • 我使用的是StatelessWidget,所以我将它保留在导航中,因为我不想仅仅因为这个而转换为StatefulWidget,谢谢!
    【解决方案2】:

    补充说明:状态栏图标颜色

    如果状态栏图标未更改为深色或浅色模式。确保在 appbar 中添加亮度。

    appbar :Appbar (
     brightness: Brightness.light,),
    

    可以像上面一样更改为 .dark 或 .light

    【讨论】:

      猜你喜欢
      • 2021-02-04
      • 2021-06-08
      • 2023-03-05
      • 2019-10-06
      • 2020-09-03
      • 2018-11-03
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多