Android hide soft keys on nexus devices

2019-07-21 02:54发布

I want to hide the soft key bar (home, back, menu) when a user launches my app. I tried using:

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

But unfortunately as soon as the user interacts with my app, the soft key bar shows again. Is there any way to hide it till the user exits my app?

1条回答
地球回转人心会变
2楼-- · 2019-07-21 03:35

This is called immersive mode.

check out: https://developer.android.com/training/system-ui/immersive.html

The code that you were asking for is:

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

Happy???

查看更多
登录 后发表回答