抖动中的底部导航栏颜色恢复为黑色

Elhoucine Ayoub

使用main方法中的以下几行代码在flutter中更改底部导航栏颜色时:

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
  systemNavigationBarColor: Colors.white,
  statusBarColor: Colors.transparent,
));

它工作正常,但是在主页使用SilverAppBar时,底部的navBar颜色在一段时间后恢复为黑色

body: CustomScrollView(
    slivers: <Widget>[
      SliverAppBar(
        expandedHeight: 300,
        floating: false,
        pinned: true,
        snap: false,
        backgroundColor: Colors.white,
        flexibleSpace: FlexibleSpaceBar(),
      ),
      SliverList(
        delegate: SliverChildListDelegate(<Widget>[

        ]),
      )
    ],
  ),

更改 expandedHeight: 250底部navBar的颜色值时不会更改,所以问题出在内部expandedHeight值上,所以为什么以及如何解决此问题。

CZX

问题实际上不在expandedHeight值内,而是事实是,sliver应用程序栏内部使用AnnotatedRegion来设置系统ui覆盖样式:https : //github.com/flutter/flutter/flutter/blob/master/packages/flutter/ lib / src / material / app_bar.dart#L599

由于您只能在main方法中设置一次叠加样式AnnotatedRegion,因此应用栏中显示的新叠加样式将覆盖旧样式

因此,您可以做的是将您的包裹FlexibleSpaceBarSliverAppBar另一个包裹中AnnotatedRegion,以覆盖AnnotatedRegion应用栏中已存在的包裹

SliverAppBar(
  expandedHeight: 300,
  floating: false, 
  pinned: true,
  snap: false,
  backgroundColor: Colors.white,
  flexibleSpace: AnnotatedRegion<SystemUiOverlayStyle>(
    value: SystemUiOverlayStyle(
      systemNavigationBarColor: Colors.white,
      statusBarColor: Colors.transparent,
    ),
    child: FlexibleSpaceBar(),
  ),
),

只为您的信息

AnnotatedRegion是更改ui叠加样式的另一种方法,您可以在此处了解更多信息:https : //stackoverflow.com/a/51013116/6064621

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改导航栏底部边框颜色Swift

来自分类Dev

在导航栏中为嵌入式UISearchbar设置颜色

来自分类Dev

在React Native中更改React导航选项卡的底部栏容器颜色

来自分类Dev

为自举的固定顶部导航栏添加黑色背景

来自分类Dev

Flutter中的底部导航栏样式

来自分类Dev

抽屉中底部导航栏的抽屉

来自分类Dev

底部导航栏与Android中的ListView重叠

来自分类Dev

导航栏显示在底部

来自分类Dev

底部导航栏空白

来自分类Dev

创建底部导航栏

来自分类Dev

将状态栏颜色设置为与导航栏相同

来自分类Dev

导航栏中的文本颜色Swift

来自分类Dev

在android中更改导航栏标题颜色

来自分类Dev

如何识别 CSS 中的导航栏颜色

来自分类Dev

如何更改导航栏中的文本颜色?

来自分类Dev

如何使底部导航上方的抖动抽屉

来自分类Dev

在底部抽屉导航抖动中注销

来自分类Dev

如何在Xib中为不同的UIViewcontroller设置不同的导航栏颜色?

来自分类Dev

为所有页面应用背景颜色,包括“ Shiny”中的导航栏

来自分类Dev

如何使我的导航栏和底部的工具栏成为单一颜色?

来自分类Dev

如何更改Android通知栏,但底部的颜色系统栏为其他颜色

来自分类Dev

导航栏调整为较小的浏览区域后,引导程序中的模式形式的输入表单降至底部

来自分类Dev

导航栏中的搜索栏会更改颜色

来自分类Dev

UIImagePickerController黑色不透明底部栏

来自分类Dev

UIImagePickerController黑色不透明底部栏

来自分类Dev

WPF RenderTargetBitmap黑色栏在右侧和底部

来自分类Dev

Bootstrap-导航栏中的底部对齐菜单

来自分类Dev

如何从引导导航栏中删除边界底部

来自分类Dev

如何根据Flutter中的条件更改底部导航栏项目

Related 相关文章

热门标签

归档