Ben*_*abo 5 android dart flutter flutter-layout
我在Flutter和Android开发人员中确实是新手,但是是否可以通过编程方式隐藏底部的导航栏(请参阅下面的内容)?
cod*_*der 18
在撰写此答案时,此处的所有其他帖子都已过时,使用setEnabledSystemUIOverlays将给出弃用消息。
隐藏系统导航栏或状态栏导入:
import 'package:flutter/services.dart';
Run Code Online (Sandbox Code Playgroud)
并使用服务SystemChrome.setEnabledSystemUIMode
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
Run Code Online (Sandbox Code Playgroud)
该函数setEnabledSystemUIMode接收SystemUiMode具有以下选项的 Enum:
LeanBack - 全屏显示,通过点击显示屏上的任意位置即可显示状态和导航栏。
沉浸式- 全屏显示,通过在显示屏边缘滑动手势即可呈现状态和导航栏。
immersiveSticky - 全屏显示,状态和导航栏可通过显示屏边缘的滑动手势暂时呈现。
edgeToEdge - 全屏显示,其中状态和导航元素在应用程序上呈现。
Manual - 声明手动配置的 [SystemUiOverlay]。(查看文档以获取更多信息)
For 指定在应用程序运行时可见的系统覆盖集。您可以使用以下静态方法:
SystemChrome.setEnabledSystemUIOverlays(List<SystemUiOverlay> overlays)
Run Code Online (Sandbox Code Playgroud)
例子 :
1 -隐藏底部导航栏和静止状态栏可见
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
Run Code Online (Sandbox Code Playgroud)
2 - 对于静止底部导航可见栏和隐藏状态栏
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
Run Code Online (Sandbox Code Playgroud)
3 -隐藏底部导航和状态栏
SystemChrome.setEnabledSystemUIOverlays([]);
Run Code Online (Sandbox Code Playgroud)
4 - 使两者都可见
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top, SystemUiOverlay.bottom]);
Run Code Online (Sandbox Code Playgroud)
我想你可以用这个
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top]);
Run Code Online (Sandbox Code Playgroud)
在你的initState()