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

来源:18-2 Flutter项目优化-2

大王今天不巡山

2019-04-28

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

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

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

写回答

2回答

CrazyCodeBoy

2019-04-28

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

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


1
2
大王今天不巡山
老师我试了下,没有达到我想要的效果。因为首页有两个颜色切换,点击其他的,首页的也就变了。不知道京东是怎么做的,想模仿京东首页的效果,其他页面固定不变。
2019-04-29
共2条回复

慕斯5023961

2023-08-31

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


0
0

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程