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

  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
需要建议解决方案

最佳答案

您可以使用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 wm0,0,0,0

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

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

08-06 07:15
查看更多