手机弹出Popupwindow后,切换Activity出现短暂黑

2018-08-15  本文已影响0人  苏墨白梦觉泪满青衫湿

从AActivity跳转到BActivity,BActivity里弹出自定义popupWindow,返回到AActivity的过程中,有短暂黑屏,刚开始以为是加载数据过多的原因,后来发现只要弹出PopupWiindow,就有黑屏。在popupWindow中弹出时,设置透明度为0.5,消失时,设置透明度为1
解决办法:
在设置透明度的方法中,加入:

/**
* 设置添加屏幕的背景透明度
*
* @param context
* @param bgAlpha
*/
public static void backgroundAlpha(Context context, float bgAlpha) {
WindowManager.LayoutParams lp = ((Activity) context).getWindow()
.getAttributes();
    lp.alpha = bgAlpha; // 0.0-1.0
    if (bgAlpha ==1) {
//不移除该Flag的话,可能出现黑屏的bug
        ((Activity) context).getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    }else {
//此行代码主要是解决在华为手机上半透明效果无效的bug
        ((Activity) context).getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    }
((Activity) context).getWindow().setAttributes(lp);
}

参考文章:

https://blog.csdn.net/biaobiao1217/article/details/51438552

上一篇下一篇

猜你喜欢

热点阅读