如何隐藏整个应用程序的android设备的软导航栏(虚拟按钮)?

Sha*_*aur 4 android

我想隐藏整个应用的软导航栏,即android设备的虚拟按钮。我已经使用了以下代码片段

getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_IMMERSIVE
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
Run Code Online (Sandbox Code Playgroud)

隐藏它,但是当我滑动gridview时它将变得可见。

Rah*_*hul 9

setSystemUiVisibility()的沉浸式标志使您的应用真正进入“全屏”状态。链接

对于沉浸式模式,请尝试以下代码。

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
    getWindow().getDecorView().setSystemUiVisibility(
            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);
}
}
Run Code Online (Sandbox Code Playgroud)