请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,您好我又有个问题想问您一下。关于状态栏的颜色,我这边遇到了问题!

我在main.dart里边修改了状态栏的颜色为透明,图标的颜色我设置为白色。相关代码如下:

if (Platform.isAndroid) {
    // 以下两行 设置android状态栏为透明。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
    SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle(
        statusBarColor: Colors.transparent,
        statusBarIconBrightness:Brightness.light,
    );
    SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
  }

首页滚动的时候我有根据滚动的距离,修改把statusBarIconBrightness修改成Brightness.dark向上滚动的时候是我要的效果,图如下:
图片描述
我在其他页面初始化的时候设置了图标颜色为深色,当我点击附近状态栏颜色变成了深色,但是我我回到首页的时候颜色也变成了深色不是我要的效果。点击附近,达到了我要的效果。效果图如下:
图片描述
当我再回到首页,首页的颜色也变成了深色。此时我还没有滚动,我在点击附近之前我滚回去了,图标是白色的。点击附近又回到首页首页的图标颜色成黑色的了!
图片描述
正确的效果是我回到首页如果没有滚动,图标是白色的才对。

正在回答 回答被采纳积分+3

2回答

CrazyCodeBoy 2019-04-28 21:21:48

在bottomNavigationBar tab切换时重置下状态栏颜色:

currentIndex: _currentIndex,
onTap: (index) {
  _controller.jumpToPage(index);
  setState(() {
    _currentIndex = index;
  });
  //重置下状态栏颜色
},


1 回复 有任何疑惑可以回复我~
  • 提问者 大王今天不巡山 #1
    猛然顿悟!多谢老师指点,这个地方我给忘记了!我赶紧去试试,谢谢老师。
    回复 有任何疑惑可以回复我~ 2019-04-28 21:24:52
  • 提问者 大王今天不巡山 #2
    老师我试了下,没有达到我想要的效果。因为首页有两个颜色切换,点击其他的,首页的也就变了。不知道京东是怎么做的,想模仿京东首页的效果,其他页面固定不变。
    回复 有任何疑惑可以回复我~ 2019-04-29 09:22:07
慕斯5023961 2023-08-31 23:59:05

老哥 你这边是怎么设置导航栏透明的呀 有好方法吗


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信