我怎样才能改变这状态栏图标颜色到白色in flutter

4szc88ey  于 2023-01-18  发布在  Flutter
关注(0)|答案(2)|浏览(143)

状态栏的颜色应该是黑色的,图标/文本的颜色应该是白色的。但是它不工作。这是我的代码。亲爱的Maven,请帮助我解决它。谢谢。x1c 0d1x
此处为首页图像。[2:[https://i.stack.imgur.com/sXU97.png][2]](https://i.stack.imgur.com/sXU97.png%5D%5B2%5D)

3pmvbmvn

3pmvbmvn1#

我知道我迟到了但对于那些面临同样问题的人
将以下代码添加到main.dartMaterialApp()主题属性中

MaterialApp(
       theme: ThemeData(
        appBarTheme: AppBarTheme(
                systemOverlayStyle: const SystemUiOverlayStyle(
                  statusBarColor: Colors.transparent,
                  statusBarBrightness: Brightness.dark, // For iOS: (dark icons)
                  statusBarIconBrightness: Brightness.dark, // For Android(M and greater): (dark icons)
                ))),
);

请注意,Brightness.dark提供深色图标,这适用于黑色背景中的白色背景,当然Brightness.light
这将在您的应用程序中全局运行
如果你想把它用于一个特定的页面,AppBar()中有一个名为systemOverlayStyle:的属性,把上面相同的代码复制到它上面

AppBar(
    systemOverlayStyle: const SystemUiOverlayStyle(
                      statusBarColor: Colors.transparent,
                      statusBarBrightness: Brightness.dark, // For iOS: (dark icons)
                      statusBarIconBrightness: Brightness.dark, // For Android(M and greater): (dark icons)
                    ),
),
vtwuwzda

vtwuwzda2#

我们需要使用systemNavigationBarIconBrightness: Brightness.dark,在android上获得白色并重建应用程序。
当设置为[亮度.亮]时,系统导航栏图标为亮。
当设置为[亮度.暗]时,系统导航栏图标为暗。

SystemChrome.setSystemUIOverlayStyle(
      const SystemUiOverlayStyle(
        statusBarColor: Colors.black, // status bar color
        systemNavigationBarIconBrightness: Brightness.dark, // Icon Color
      ),
    );

相关问题