Android:如何强制导航栏在Samsung Galaxy S8

时间:2017-07-03 11:43:57

标签: java android android-navigation-bar

是否可以强制应用始终显示在Android应用中的导航栏?在三星Galaxy S8上,用户可以在"运行时"期间隐藏导航栏。 - 这会导致应用程序中的一些意外行为(如果您感兴趣;我尝试在视图上添加setOnSystemUiVisibilityChangeListener并重绘,invalidate,requestLayout和forceLayout,没有运气。重新启动活动不适用,因为应用程序是单活动-app。我也没看过WindowInsets,但也没有运气。)

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

2 个答案:

答案 0 :(得分:0)

我对三星S8不太了解,但我曾在三星S7上工作过。我使用了后倾模式setSystemUiVisibility()并传递了这两个标志

1。SYSTEM_UI_FLAG_FULLSCREEN
2。SYSTEM_UI_FLAG_HIDE_NAVIGATION
另外,为了启用沉浸式模式,我结合使用了SYSTEM_UI_FLAG_IMMERSIVE

引自visibility& immersive

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

答案 1 :(得分:-1)

这对我有用:

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