如何在颤动中隐藏android的底部导航栏

Posted

技术标签:

【中文标题】如何在颤动中隐藏android的底部导航栏【英文标题】:How to hide android's bottom navigation bar in flutter 【发布时间】:2019-02-21 05:26:30 【问题描述】:

我真的是 Flutter 和 android 开发的新手,但是否可以通过编程方式隐藏底部导航栏(请参阅下面的哪个项目)?

【问题讨论】:

【参考方案1】:

试试这个: SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);

Document

【讨论】:

好吧,我用过这个,但在那之后,我有一个空白区域。而且不能真正放任何东西。 哦,这解决了。脚手架(resizeToAvoidBottomPadding: false, appBar: new AppBar(), ); 虽然这有效,但在某些设备上,当我们触摸屏幕时,它会显示底部导航栏。猜猜我们如何解决这个问题。 SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]) 不适合我。触摸屏幕时,底部栏会持续显示。 似乎flutter团队对此无动于衷。 github.com/flutter/flutter/issues/62412【参考方案2】:

使用SystemChrome.setEnabledSystemUIOverlays([])隐藏状态栏和导航栏。

【讨论】:

【参考方案3】:

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]);

【讨论】:

【参考方案4】:

在撰写此答案时,此处的所有其他帖子都已过时,使用 setEnabledSystemUIOverlays 将给出弃用消息。

隐藏系统导航栏或状态栏导入:

import 'package:flutter/services.dart';

并使用服务SystemChrome.setEnabledSystemUIMode

SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);

函数setEnabledSystemUIMode 接收SystemUiMode 枚举,它具有以下选项:

leanBack - 带有状态和导航栏的全屏显示,通过点击显示屏上的任意位置即可呈现。

沉浸式 - 带有状态和导航栏的全屏显示,可通过在显示屏边缘的滑动手势呈现。

immersiveSticky - 通过屏幕边缘的滑动手势暂时呈现状态和导航栏的全屏显示。

edgeToEdge - 在应用程序上呈现状态和导航元素的全屏显示。

ma​​nual - 声明手动配置的 [SystemUiOverlay]。 (查看文档了解更多信息)

【讨论】:

【参考方案5】:

我觉得你可以用这个

SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top]);

在你的initState()

【讨论】:

【参考方案6】:

目前此功能在 Flutter 中存在错误,您可以在此处查看此问题。

https://github.com/flutter/flutter/issues/62412

通常您需要执行以下操作:

SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]); 

【讨论】:

以上是关于如何在颤动中隐藏android的底部导航栏的主要内容,如果未能解决你的问题,请参考以下文章

android开发时如何去掉底部的导航栏?

如何使用颤动的底部导航栏导航到几个新页面?

Android如何隐藏底部虚拟按键

如何在颤动的底部导航栏中添加抽屉?

如何摆脱自定义底部导航栏颤动周围的空白?

使用底部导航栏导航回页面时颤动通过底部导航栏选择的索引