PopupWindow显示之后所在的Activity结束的时候出现短暂黑屏问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jhl122/article/details/79977066

在当前Activity弹出PopuoWindow弹窗之后,取消弹窗,然后结束当前Activity的时候会出现短暂黑屏现象。这是由于设置背景透明度时候造成的

 public ESPopUpWindowBuilder setBackAlpha(float alpha) {
        if (context != null) {
            WindowManager.LayoutParams lp = context.getWindow().getAttributes();
            lp.alpha = alpha;
            if (alpha == 0.5f) {
                context.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,可能出现黑屏的bug
            } else {
                context.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug
            }
            context.getWindow().setAttributes(lp);
        }
        return this;
    }
关键代码 
context.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,可能出现黑屏的bug

猜你喜欢

转载自blog.csdn.net/jhl122/article/details/79977066