[英]How to hide android's bottom navigation bar in flutter
試試這個: 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]s。 (查看文檔以獲取更多信息)
我想你可以用這個
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top]);
在你的initState()
目前此功能在顫振中存在錯誤,您可以在此處查看此問題。
https://github.com/flutter/flutter/issues/62412
通常,您需要執行以下操作:
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
此方法已棄用SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
僅顯示狀態欄
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky,overlays: [SystemUiOverlay.top]);
僅顯示系統導航欄
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky,overlays: [SystemUiOverlay.bottom]);
隱藏兩者
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky,
overlays: []);
最好把它放在這樣的 runApp 方法之前
void main() {
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays:[]).then(
(_) => runApp(MyApp()),
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.