首页 > 解决方案 > SystemChrome SystemUIMode 有没有办法始终显示顶部状态栏但具有沉浸式粘性底部?

问题描述

使用 Flutter 2.5.2,在 Pixel 2 和 Iphone SE (2020) 上进行测试,

所以对于我的应用程序,我想最大化屏幕空间,但在大部分应用程序中保持顶部状态栏。我想隐藏底部系统导航,但似乎使用 SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.top]);会导致底部系统覆盖进入leanBack模式或其他东西。

由于我自己的底部导航栏具有滚动功能,因此我似乎无法滚动而无需点击屏幕以在“手动”模式下显示系统覆盖。然后app手势没有系统底部导航,挡住了我的底部导航栏。'immersiveSticky' 会起作用,但我希望几乎总是显示顶部状态栏。使用SystemUiMode.immersiveSticky似乎忽略了```overlays:[]``。

有谁知道如何使用SystemChrome.setSystemUIChangeCallback我的手势来完成或SystemUiOverlay.top始终保持底部,immersiveSticky例如: SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays: [SystemUiOverlay.top]);

或者是否有一种解决方法,我可以获得顶部状态栏的“副本”并创建我自己的小部件,我可以将其用作顶部状态栏并保留SystemUiMode.immersiveSticky

SystemChrome.setEnabledSystemUIMode 参考

标签: flutteruser-interfacestatusbarnavigationbar

解决方案


推荐阅读