2022-06-05 PopupWindow外部不可点击以及外部半透明效果

1.外部不可点击,在Activity中重写dispatchTouchEvent,如下

  @Override
  public boolean dispatchTouchEvent(MotionEvent event) {
    //hasShow弹窗调用后为true,PopupWindow.setOnDismissListener里面设为false
    if (hasShow) return false;
    return super.dispatchTouchEvent(event);
  }

2.半透明效果,然后在PopupWindow.setOnDismissListener里面充值为1f即可

        //this是当前的Activity
        WindowManager.LayoutParams lp = this.getWindow().getAttributes();
        lp.alpha = 0.7f;//需要显示的半透明度
        this.getWindow().setAttributes(lp);
        //下面这行是重点,否则在安卓10以后半透明无效
        this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容