Flutter中setEnabledSystemUIOverlays已废弃 如何迁移至setEnabledSystemUIMode
问题修复方案
原因说明
setEnabledSystemUIOverlays方法从Flutter 2.5版本开始已被标记为废弃,官方推荐使用setEnabledSystemUIMode替代,功能逻辑完全一致,仅API调用方式调整。
适配代码
将原有代码直接替换为以下实现即可,和旧效果完全相同,同时消除编译告警:
SystemChrome.setEnabledSystemUIMode( SystemUiMode.manual, overlays: [SystemUiOverlay.top], );
补充说明
- 调用该API前需要先执行
WidgetsFlutterBinding.ensureInitialized(),通常放在main函数入口的第一行即可 - 如果后续需要调整显示的系统UI元素,仅修改
overlays数组内的枚举值即可:- 仅保留顶部状态栏:
[SystemUiOverlay.top] - 同时保留状态栏和底部导航栏:
[SystemUiOverlay.top, SystemUiOverlay.bottom] - 隐藏所有系统UI:传空数组
[]
- 仅保留顶部状态栏:
- 该API适配全平台,不需要额外做系统版本兼容处理
内容的提问来源于stack exchange,提问作者iDecode
相关产品推荐
相关产品推荐

