永远隐藏导航栏

时间:2018-09-19 20:37:48

标签: java android android-layout android-fragments material-design

我正在尝试永久隐藏导航栏,我正在使用沉浸式模式 粘性,但在向上或向下滚动时再次出现 我知道这个问题重复。

  View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
        decorView.setSystemUiVisibility(uiOptions);

我在Google材料中阅读的内容无法永远隐藏,这是真的吗? https://developer.android.com/training/system-ui/navigation 需要建议解决方案

1 个答案:

答案 0 :(得分:2)

您可以使用ADB手动进行操作。
要将其永久置于沉浸式模式:

adb shell settings put global policy_control immersive.navigation=*  

要还原它:adb shell settings put global policy_control null*

要“删除”它,可以在屏幕视图上方过扫描:

adb shell wm overscan 0,0,0,-168  

该数字可能需要更改,但这是对我有用的数字。
还原它:adb shell wm 0,0,0,0

如果必须在应用程序中执行此操作,则可以请求root用户访问权限并在应用程序中运行命令:

val command = "settings put global policy_control immersive.navigation=*"
val runtime = Runtime.getRuntime()
runtime.exec("su")
runtime.exec(command.split(" "))