Flutter SafeArea 意外隐藏系统图标
Posted
技术标签:
【中文标题】Flutter SafeArea 意外隐藏系统图标【英文标题】:flutter SafeArea hides system icons unexpectedly 【发布时间】:2021-03-01 07:36:36 【问题描述】:我使用SafeArea
来避免我的显示区域与最新的手机状态栏和摄像头缺口发生冲突。我使用Scaffold
而不使用AppBar
。
问题
虽然显示区域按预期工作,但有一个副作用:状态栏变成单色区域,所有系统图标包括 WIFI 和电池都消失了。
尝试
我尝试了各种技巧,包括
Flutter - System bar colors with SafeArea Flutter - How to set status bar color when AppBar not present但他们所做的只是设置颜色。图标仍然丢失。
问题
这是设计使然还是我错过了SafeArea
的任何有用属性?
【问题讨论】:
如果它完全消失意味着你必须改变原生主题,如果它在某种意义上因为具有相同的前景和背景而消失,你必须像这样***.com/questions/55209774/… @Yadu,我怀疑我遇到了第一个案例。但是您能否更具体地说明“更改原生主题”?你的意思是我应该通过平台频道在本机编码? 检查这个developer.android.com/guide/topics/ui/look-and-feel/themes和这个developer.android.com/training/system-ui/status 【参考方案1】:试试这个 如果你是这样使用的
Widget build(BuildContext context) return SafeArea(...);
那就试试这个
Widget build(BuildContext context) return AnnotatedRegion( value: SystemUiOverlayStyle.light, child:SafeArea(...);
【讨论】:
以上是关于Flutter SafeArea 意外隐藏系统图标的主要内容,如果未能解决你的问题,请参考以下文章
FlutterFlutter 全面屏适配 ( 需要适配的情况 | Android 设置最大宽高比 | 使用 SafeArea 进行全面屏适配 | 使用 MediaQuery 进行全面屏适配 )(代码片