踩坑小计-Android Flutter应用设置沉浸式状态栏

之前写过一篇关于设置Flutter页面沉浸式状态栏的文章。https://www.cnblogs.com/mrhan9941/p/16482604.html

主要是基于Flutterboost的原生Android项目的,那时候是在原生Android项目嵌入了Flutter Module。项目重构后已经改为纯Flutter项目,确发现一个小问题,沿用之前的设置沉浸式状态栏的方法并不生效,无论是在AndroidManifest里面设置宿主Activity的主题,还是在宿主Activity通过代码设置状态栏背景为透明,都不行,运行起来状态栏始终有一个深色背景。

看着实在令人抓狂。

在百度了相关问题后,找到了采用率比较高的做法:

1 if (Platform.isAndroid) {
2       SystemUiOverlayStyle systemUiOverlayStyle =
3       const SystemUiOverlayStyle(statusBarColor: Colors.transparent,
4         statusBarIconBrightness: Brightness.light
5       );
6       SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
7     }

加入这个设置后再运行,发现依然不生效!!最后在AndroidManifest发现了这行代码:

 根据这个元数据的命名猜测它跟Flutter页面的主题设置有关,

 于是尝试着将这个主题内容改了下:

 一运行,果然生效了。

总结,对与Flutter的了解还是不够深,对页面记载机制和流程如果比较熟悉的话应该能快速定位到问题。

posted @   Mr,Han  阅读(528)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示