Flutter: 如何在Android和iOS上更改状态栏文本颜色(不使用AppBar)

8 浏览
0 Comments

Flutter: 如何在Android和iOS上更改状态栏文本颜色(不使用AppBar)

我对Flutter还不熟悉,我通过谷歌搜索了这个问题,但是没有找到适合我的答案。\n我的代码如下所示,状态栏的颜色工作得很好,现在是白色的。但是在Android上,状态栏文本的颜色也是白色的,似乎 Brightness.dark 根本不起作用...\n非常感谢您的答案!<3\nWidget build(BuildContext context) {\n SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark.copyWith(\n statusBarColor: Colors.white, // Android 的颜色\n statusBarBrightness: Brightness.dark // Dark == 白色状态栏 -- 适用于IOS.\n ));\n return Scaffold(\n body: Container(\n ...\n}\n

0
0 Comments

根据SystemUiOverlayStyle API文档的说明,Android上的状态栏文本颜色不能通过statusBarBrightness来改变,这个属性只在iOS上生效。

解决方法之一是使用SystemChrome.setSystemUIOverlayStyle来设置状态栏的样式。在Android上,可以通过设置statusBarColor和statusBarIconBrightness来改变状态栏的颜色和文本颜色。在iOS上,可以通过设置statusBarBrightness来改变文本颜色。

代码示例:

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(

statusBarColor: Colors.white, // 只在Android M及以上版本生效

statusBarIconBrightness: Brightness.dark // 只在Android M及以上版本生效

statusBarBrightness: Brightness.light, // 只在iOS上生效

));

希望对你有帮助!祝一切顺利!

另外,有没有办法在Android 5.1上修改状态栏?

有没有办法为iOS设备添加状态栏颜色?因为statusBarColor只支持Android。

0