After the android application settings hide the bottom navigation bar, the dialog pops up to get the focus and the bottom navigation bar comes out again.

private void fullScreenImmersive(View view) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
      int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_FULLSCREEN;
      view.setSystemUiVisibility(uiOptions);
    }
  }
 
  @Override
  public void show() {
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
    super.show();
    fullScreenImmersive(getWindow().getDecorView());
    this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
  }

Paste the customized dialog, the order in show() cannot be changed.

 

 

The resource comes from the network, and it only solves a single dialog. Spinner does not refer to the dialog, but it can be done.

Popupwindow is better to use than dialog, and the idea is to go to the focus.

Guess you like

Origin blog.csdn.net/qq_24712507/article/details/106093556