【发布时间】:2019-02-21 05:26:30
【问题描述】:
【问题讨论】:
标签: android dart flutter flutter-layout
【问题讨论】:
标签: android dart flutter flutter-layout
试试这个:
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
【讨论】:
使用SystemChrome.setEnabledSystemUIOverlays([])隐藏状态栏和导航栏。
【讨论】:
For 指定应用程序时可见的系统覆盖集 在跑。您可以使用以下静态方法:
SystemChrome.setEnabledSystemUIOverlays(List<SystemUiOverlay> overlays)
例子:
1 - 隐藏底部导航栏和状态栏可见
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
2 - 底部导航可见栏和隐藏状态栏
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
3 - 隐藏底部导航和状态栏
SystemChrome.setEnabledSystemUIOverlays([]);
4 - 让都可见
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top, SystemUiOverlay.bottom]);
【讨论】:
在撰写此答案时,此处的所有其他帖子都已过时,使用 setEnabledSystemUIOverlays 将给出弃用消息。
隐藏系统导航栏或状态栏导入:
import 'package:flutter/services.dart';
并使用服务SystemChrome.setEnabledSystemUIMode
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
函数setEnabledSystemUIMode 接收SystemUiMode 枚举,它具有以下选项:
leanBack - 带有状态和导航栏的全屏显示,通过点击显示屏上的任意位置即可呈现。
沉浸式 - 带有状态和导航栏的全屏显示,可通过在显示屏边缘的滑动手势呈现。
immersiveSticky - 通过屏幕边缘的滑动手势暂时呈现状态和导航栏的全屏显示。
edgeToEdge - 在应用程序上呈现状态和导航元素的全屏显示。
manual - 声明手动配置的 [SystemUiOverlay]。 (查看文档了解更多信息)
【讨论】:
我觉得你可以用这个
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top]);
在你的initState()
【讨论】:
目前此功能在 Flutter 中存在错误,您可以在此处查看此问题。
https://github.com/flutter/flutter/issues/62412
通常您需要执行以下操作:
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
【讨论】: