android 应用设置隐藏底部导航栏后,dialog弹出获取焦点 底部导航栏重新出来的解决方案

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

自定义的dialog粘贴下,show()里面的顺序不能变。

资源源于网络,只解决单独dialog,spinner这种引用了dialog的没搞,但是也可以搞。

popupwindow用起来比dialog要好一些,思路也是去焦点即可。

猜你喜欢

转载自blog.csdn.net/qq_24712507/article/details/106093556