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

时间:2016-11-28 07:48:46

标签: android

我想隐藏软导航栏,即整个应用程序的Android设备的虚拟按钮。我使用了下面的代码片段

getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_IMMERSIVE
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

隐藏它但当我滑动gridview时它会变得可见。

2 个答案:

答案 0 :(得分:6)

setSystemUiVisibility()的沉浸式标志可让您的应用真正全屏播出。" Link

尝试使用以下代码,了解沉浸式模式。

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

答案 1 :(得分:0)

View decorView = getWindow().getDecorView();

//隐藏导航栏和状态栏。

int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
              | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);