Flutter 单独页面状态栏颜色改变backgroundColor和statusBarColor

2023-10-27

1.flutter中如果整个应用状态栏颜色是同一种颜色,可以在main方法里设置:

//设置状态栏颜色
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
    statusBarColor: Colors.transparent, //状态栏背景颜色
    statusBarIconBrightness: Brightness.dark // dark:一般显示黑色   light:一般显示白色
    ));

2.有些页面可能需要状态栏颜色和当前页面的颜色接近,需要单独修改,则在页面的appbar里进行设置:

   appBar: AppBar(
              elevation: 0,//去除状态栏下的一条阴影
              toolbarHeight: 0,
              systemOverlayStyle: SystemUiOverlayStyle(
                // statusBarColor: R.color.WHITE,
                  statusBarColor: Colors.transparent,
                systemNavigationBarColor: Color(0xFF000000),
                systemNavigationBarIconBrightness: Brightness.light,
                statusBarIconBrightness: Brightness.dark,
                statusBarBrightness: Brightness.light,
              ),
              // systemOverlayStyle: SystemUiOverlayStyle.dark,
              backgroundColor: R.color.WHITE,
            ),

这里backgroundColor和statusBarColor都是改变的是状态栏的颜色,statusBarColor是只生效于Android6.0以上的机器,并且statusBarColor会覆盖掉backgroundColor,如果前一个页面设置了statusBarColor,在这个页面没有重新设置的话,显示的依旧是上一个页面的statusBarColor;当设置statusBarColor为透明色的时候,那么状态栏的颜色就是backgroundColor。

对于页面自身来说,statusBarColor和backgroundColor没有太大区别,但是当这个页面使用弹窗时,如果statusBarColor不是透明话,弹窗时顶部的状态栏颜色也会是statusBarColor而不是阴影覆盖,所以有弹窗的页面最好还是把statusBarColor设为透明,backgroundColor设为想要的状态栏颜色,这样展示效果好一些,emmmmmm。

 

 差不多就是这种区别,感觉statusBarColor可能是修改的最上层的图层吧,搞不懂。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter 单独页面状态栏颜色改变backgroundColor和statusBarColor 的相关文章

  • 用户验证 Facebook 后未调用应用程序打开 Url 方法

    我已将 ios 应用程序中的 facebook 升级到 3 0 并使用提供的代码https developers facebook com docs howtos login with facebook using ios sdk http
  • 如何更改终端的默认目录?

    我想更改 Android Studio v2 2 2 终端的默认目录 当我打开终端时 它基于项目的目录 C 项目路径 我经常需要使用adb shell 所以我必须导航到 SDK 路径 平台工具 才能使用 adb 命令 是否可以更改终端的默认
  • AVAssetExportSession 无法导出从 iCloud 下载的视频

    我正在尝试创建从用户相册中选择的视频的缩小版本 输出的最大尺寸为 720p 因此 在检索视频时 我使用 mediumQualityFormat as the deliveryMode 如果用户设备中不存在原始视频或其中等质量版本 这会导致
  • 在 flutter 中强制重建有状态子部件

    假设我有一个主屏幕 有状态小部件 其中有一个变量count作为状态 在此主屏幕中 有一个按钮和另一个有状态小部件 我们称之为MyListWidget MyListWidget初始化它自己的小部件initState取决于的值count多变的
  • 在 Cordova 应用程序中获取额外功能

    我们有两个 Android 应用程序 一个使用本机 Java 实现 另一个使用 Ionic 编写 Ionic 应用程序启动我的应用程序 这是使用灯插件 https github com lampaa com lampa startapp 我
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • WorkManager 或 AlarmManager 用于日常请求然后通知工作?

    这是用例 用户设置具有特定时间的每日通知 在指定时间 发出网络请求以获取一些数据 然后使用检索到的数据显示通知 我不确定是否应该使用 AlarmManager 还是 WorkManager 来实现这个用例 据我了解 AlarmManager
  • 使用 MapKit 的地形和卫星视图

    我是 Mapkit View 的新手 当我给出没有目的地的纬度和经度时 我想显示 MapKit中是否可以通过地形 卫星视图来显示地图 有教程链接吗 我看过一些访问 Google 地图 API html 文件 的示例 有必要吗 或者您可以通过
  • 叠加 SKScene 未显示

    我正在尝试将 SKScene 覆盖在 SCNScene 上 当我在模拟器和 iPhone6 上运行我的应用程序时 overlayScene SKScene 按预期显示 但是当我尝试在 iPhone5 上运行它 尝试了 2 个不同的设备 时
  • 如何在 Android 中从 WorkManager 取消工作?

    我已经保存了 WorkManagerUUID转换成String在领域数据库中 这是代码 Constraints constraints new Constraints Builder setRequiredNetworkType Netwo
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • 如何在 UICollectionView 中将行居中?

    我有一个UICollectionView与随机细胞 有什么方法可以让我将行居中吗 默认情况下它是这样的 x x x x x x x x x x x x x x 这是所需的布局 x x x x x x x x x x x x 我必须做这样的事
  • 没有用于警告的设置器/字段 Firebase 数据库检索数据填充列表视图

    我只是想将 Firebase 数据库中的数据填充到我的列表视图中 日志显示正在检索数据 但适配器不会将值设置为列表中单个列表项中的文本 它只说 没有二传手 场地插入值 这让我觉得我的设置器没有正确制作 但 Android Studio 自动
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put
  • 是否可以跨 2 个不同的 iOS 应用程序访问数据?

    假设我在 App1 中存储了一些 ID 数据 并希望在同一设备上的 App2 中访问它 平台上可以这样吗 如果没有的话有什么解决方法吗 您可以使用iOS 钥匙扣 http developer apple com library ios do
  • Android 屏幕方向错误

    我使用的是 Android HTC HERO 2 1 版本 我写的活动

随机推荐

  • thinkphp6 入门(1)--安装、路由规则、多应用模式

    一 安装thinkphp6 具体参考官方文档 安装 ThinkPHP6 0完全开发手册 看云 下面仅列举重要步骤 ThinkPHP6 0的环境要求如下 PHP gt 7 2 5 1 安装Composer 2 安装稳定版thinkphp 如果
  • 浏览器显示无法解析服务器的DNS地址,搜狗浏览器无法解析服务器的DNS地址怎么解决...

    5 点击 使用下面的DNS 服务器地址 然后在下面填入 114 114 114 114 点击 确定 确定 保存设置即可解决问题 3 重置winsock 目录设置后等待提示已成功刷新DNS 解析缓存 继续输入 netsh winsock re
  • 【Kubernetes部署篇】Ansible自动化工具离线部署K8s 1.27版本

    一 前提须知 采用kubeadm方式 目前只支持 单Master 多Node部署架构 需要主机网络互通 没有网络限制 需要使用root用户权限进行部署 二 使用Ansible部署K8S集群步骤 第一步 获取离线安装包 百度网盘获取 MD5
  • L298N模块驱动电机(实现pwm调速)

    1 占空比是高电平所占周期时间与整个周期时间的比值 2 脉宽调制 PWM 基本原理 控制方式就是对逆变电路开关器件的通断进行控制 使输出端得到一系列幅值相等的脉冲 用这些脉冲来代替正弦波或所需要的波形 也就是在输出波形的半个周期中产生多个脉
  • Angular前端与springBoot后端的http请求交互

    前言 开发模式采用前后端分离 前端用angular 这里指的是angular2 不要和angularjs混淆了 后端采用springBoot 主要介绍下angular与后端接口调用问题 思路 其实官网都有调用 只是一些地方要注意到 而往往就
  • c51延时子程序delayms(uchar ms);

    void delayms unsigned char ms 延时子程序 unsigned char i while ms for i 0 i lt 109 i 晶振为11 0592M时i lt 109 若为12M时 i 需设为 lt 120
  • 最全java面试题及答案(208道)

    本文分为十九个模块 分别是 Java 基础 容器 多线程 反射 对象拷贝 Java Web 异常 网络 设计模式 Spring Spring MVC Spring Boot Spring Cloud Hibernate MyBatis Ra
  • 转: 边界值法:什么是上点,内点,离点

    以下转自 web http yzylion blog 163 com blog static 89406994200892784325898 什么是上点 内点 离点 2008 10 27 20 43 25 分类 默认分类 标签 it评论 字
  • 中文Python(3)Python语言中的占位神器pass语句

    中文Python 3 Python语言中的占位神器pass语句 Python作为一门高级计算机语言 其程序结构相对简单 同时又灵活多变 在编写程序时 我们经常需要考虑各种情况的处理 但有时候一些情况我们还没有想好如何去处理 这时候就可以借助
  • CUDA中的锁页内存 Page-Locked Memory详解

    Page Locked内存 运行时提供的函数允许使用锁页 也称为固定 主机内存 与 malloc 分配的常规可分页主机内存相反 cudaHostAlloc 和 cudaFreeHost 分配和释放锁页主机内存 cudaHostRegiste
  • maven使用及高级

    简介 maven工作全靠插件plugin maven的工作目标也是插件 管理插件 运行插件 安装 下载后 设置m2 home及path 使用mvn v命令检查安装是否成功 maven安装包非常小 因为maven被设计成将主要的指责委派给一组
  • PDF加密文件无法打印

    前几天遇到一个要打印的PDF可是打印的按钮就是无法使用 用wps打开后发现已被加密了 后在找解密方法时找到一个网站可以使用 这边暂且记着以后方便使用 http www pdfdo com pdf remove restriction asp
  • Truffle报'module'未定义错误解决方法

    在使用truffle compile命令时出现如下错误 只要把文件夹中的 truffle js 文件重命名为其他名字即可
  • ELK系列(八)、使用Filebeat+Redis+Logstash收集日志数据

    前面提到过 logstash占资源很大 filebeat更加轻量 一般都是组合使用 难免会有logstash宕掉的时候 这时候filebeat再往logstash里写数据就写不了了 这期间的日志信息可能就无法采集到了 因此一般都会采用red
  • uniapp实现村组数据多级联动

    选择了村的数据才会有组的数据 下面为接口的返回格式 首先是点击输入框 弹出u picker组件 下面是主要代码
  • 物联网概述

    1 1 物联网的定义和特征 1 物联网的定义 物联网的英文名称是 The Internet of things IoT 意即 物物相连的互联网 也就是说 物联网是在互联网基础上的延伸和扩展的网络 其用户端延伸和扩展到了任何物品与物品之间 进
  • SQL数据库自学

    SQL数据库 一 1 相关概念 数据库 数据管理系统 SQL 2 SQL通用语法 3 语句分类 1 DDL 数据定义语言 对数据库操作 对表操作 2 DML 对数据库中表的数据进行操作 添加数据 修改数据 删除数据 3 DQL 查询数据 基
  • sql注入时union出错(Illegal mix of collations for operation UNION)

    当union连接information schema时 就会出现Illegal mix of collations for operation UNION 经过一系列的检查发现之后 其实是union连接的字段的字符规则不一样 此方法只适用于
  • Django学习笔记-AcApp端授权AcWing一键登录

    笔记内容转载自 AcWing 的 Django 框架课讲义 课程链接 AcWing Django 框架课 AcApp 端使用 AcWing 一键授权登录的流程与之前网页端的流程一样 只有申请授权码这一步有一点细微的差别 我们在打开 AcAp
  • Flutter 单独页面状态栏颜色改变backgroundColor和statusBarColor

    1 flutter中如果整个应用状态栏颜色是同一种颜色 可以在main方法里设置 设置状态栏颜色 SystemChrome setSystemUIOverlayStyle const SystemUiOverlayStyle statusB