안드로이드로 내비게이션 표시줄을 잠시 숨기고 싶어요.

3551 단어 Android
내비게이션 표시줄 설치를 잠시 숨겨야 하기 때문에 많은 시도를 했다.

SYSTEM_UI_FLAG_HIDE_NAVIGATION


호출된 화면에 내비게이션 표시줄을 숨기는 방법.
View view = getWindow().getDecorView();
view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
다만, 그저SYSTEM_UI_FLAG_HIDE_NAVIGATION라면 술집을 잠시 숨기고(=화면을 만지거나 상호작용이 있으면 술집이 아래에서 나타난다) 있기 때문에SYSTEM_UI_FLAG_IMMERSIVE도 같이 쓰면 좋을 것 같다.

SYSTEM_UI_FLAG_IMMERSIVE


상호 작용이 있어도 계속 숨길 수 있는 탐색 표시줄을 숨깁니다.
View view = getWindow().getDecorView();
view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE);
Immersive술집을 지속해서 숨겨 이용자를 방해하지 않고 앱에 들어가게 하려는 의도가 있는 것처럼'몰입'하는 의미가 있다.
그러나 API level 19(Android 4.4:KitKat)에서 지원되기 때문에 안드로이드 4.3 이하에서는 사용할 수 없습니다.어떻게 된 거야?
어쩔 수 없이 이상적인 동작은 안드로이드 4.4 이상에서만 가능합니다.

잘못된 IMMERSIVE 질문


대화 상자가 설정SYSTEM_UI_FLAG_IMMERSIVE에 표시되면 숨겨진 탐색 모음이 표시될 수 있습니다.
앞에 다른 윈도우가 붙어 있어서 그런 것 같은데 대화 상자 옆에 이렇게 쓰면 없앨 수 있어요.(대화 상자가 상속됨SYSTEM_UI_FLAG_IMMERSIVE
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    Window window = getDialog().getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
}

사이트 축소판 그림

  • KitKat(Android 4.4)에 대한 UI
    http://y-anz-m.blogspot.jp/2013/11/kitkat-android-44-ui.html
  • Android Immersive 모드 사용
    http://extra-vision.blogspot.jp/2016/04/android-immersive.html
  • 좋은 웹페이지 즐겨찾기