flutter 状态栏颜色显示问题

在android 中全局修改状态栏颜色比较常用的方法,如下是设置黑底白字的状态栏设置方式

runApp(MyApp());
if (Platform.isAndroid) {
    SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle(statusBarColor:Colors.black,statusBarIconBrightness: Brightness.light);
    SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
  }

预期效果如下

然而在部分页面中却存在这种颜色与文字颜色相同的情况

几番测试才发现是appBar 的background 属性会影响状态栏的字体颜色,由于我在全局的AppBarTheme设置中background设为了白色,所以在白色appBar页面中状态栏的字体颜色会自动修改。

经测试发现在AppBarTheme中同样添加sysTemOVerLayStyle属性可以固定颜色

 appBarTheme: AppBarTheme(
          ...
         backgroundColor:Colors.white,
          ...
         systemOverlayStyle: SystemUiOverlayStyle(statusBarColor:Colors.black,statusBarIconBrightness: Brightness.light),
       ),
同理也可在具体页面的AppBar中设置该属性,原理暂不明确
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭_栋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值