Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:如何强制导航栏在三星Galaxy S8上可见_Java_Android_Android Navigation Bar - Fatal编程技术网

Java Android:如何强制导航栏在三星Galaxy S8上可见

Java Android:如何强制导航栏在三星Galaxy S8上可见,java,android,android-navigation-bar,Java,Android,Android Navigation Bar,在Android应用程序中,是否可以强制应用程序始终显示在导航栏上?在三星Galaxy S8上,用户可以在“运行时”隐藏导航栏,这会导致应用程序中出现一些意外行为(如果您感兴趣,我尝试在视图上添加SetOnSystemMivibilityChangeListener,并在没有运气的情况下重新绘制、无效、requestLayout和forceLayout。重新启动活动不适用,因为该应用程序是一个单一的活动应用程序。我也在没有运气的情况下查看了WindowInsets。) 因此,我只想通过不允许用户

在Android应用程序中,是否可以强制应用程序始终显示在导航栏上?在三星Galaxy S8上,用户可以在“运行时”隐藏导航栏,这会导致应用程序中出现一些意外行为(如果您感兴趣,我尝试在视图上添加SetOnSystemMivibilityChangeListener,并在没有运气的情况下重新绘制、无效、requestLayout和forceLayout。重新启动活动不适用,因为该应用程序是一个单一的活动应用程序。我也在没有运气的情况下查看了WindowInsets。)


因此,我只想通过不允许用户删除导航栏来避免问题。我在网上找到的所有资源都是用来隐藏导航栏的。有人对如何保留导航栏有什么建议吗?

我对三星S8不太确定,但我曾在三星S7上工作过。我使用了后倾模式
设置系统兼容性()
并传递了这两个标志

1.
SYSTEM\u UI\u FLAG\u全屏

2.
SYSTEM\u UI\u FLAG\u HIDE\u导航

同样为了启用沉浸式模式,我结合使用了
SYSTEM\u UI\u FLAG\u immersive

它是从&

如果我错了或者我不理解这个问题,请纠正我。

这对我很有用:

        getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_IMMERSIVE
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);

运气好吗?s8的导航栏弄乱了很多人的应用程序。我的也包括在内。强制它总是关闭或打开,而用户不能自己切换。不,不幸的是没有…我同意!我在这个Christopher上取得了进展。我找到了如何禁用切换的方法,但没有意味着用户无法显示导航栏。他们可以向上滑动导航栏,但导航栏不会锁定。此外,如果用户界面变得混乱,唯一的解决方案是添加侦听器并重新调整(测量)视图和位置相应。这对我的应用程序来说如此麻烦的原因是因为我使用了大量依赖y线的动画。y线需要动态,这取决于导航条是否存在。哦,很好!使其不粘滞是一个完美的解决方案!你介意解释一下你做了什么吗?克里斯托弗,看一看t点击此处。DecorView的systemUiVisibility选项可定制为禁用锁定导航条的功能。其作用类似于虚拟键盘启动时,锁定选项将不显示。