欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Flutter修改状态栏的颜色

程序员文章站 2022-11-01 15:41:23
文章目录一、前言二、代码三、无法实现的功能一、前言实际开发中我们会遇到设置状态栏的问题,状态栏整体是比较简单的。但是有些功能是实现不了的,这里给出简单的代码演示,以及告诉哪些功能是实现不了的二、代码void main() async{ runApp(MyApp()); if (Platform.isAndroid) { // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值...

一、前言

实际开发中我们会遇到设置状态栏的问题,状态栏整体是比较简单的。但是有些功能是实现不了的,这里给出简单的代码演示,以及告诉哪些功能是实现不了的

二、代码

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

三、无法实现的功能

  1. Flutter应用的状态栏是全局的,不能每个页面一个状态栏,后面设置的会覆盖前面的
  2. SafeArea会给状态栏留下空白,这时候如果状态栏是透明的,内容是滑动不上去的
  3. 不能根据内容是什么样子来设置状态栏的颜色,因为没有页面颜色提取的功能。

本文地址:https://blog.csdn.net/Mr_Tony/article/details/112535693

相关标签: flutter