在网上找了很多资料,即popupwindow弹出时加上
setBackgroundAlpha(0.5f,mContext);
在点击消失前加上
setBackgroundAlpha(1.0f,mContext);
按着这种方法,背景是变灰了,然而却坠入另一个坑,我用的红米Note2测试机,每次弹出变灰后
后面背景直接变成了手机桌面,纠结了一段时间,最终得到完美解决
只需在((Activity) mContext).getWindow().setAttributes(lp);上面加上
((Activity) mContext).getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
即可。
/**
* 设置背景颜色
* @param bgAlpha
*/
public static void setBackgroundAlpha(float bgAlpha, Context mContext) {
WindowManager.LayoutParams lp = ((Activity) mContext).getWindow()
.getAttributes();
lp.alpha = bgAlpha;
((Activity) mContext).getWindow().setAttributes(lp);
}
setBackgroundAlpha(0.5f,mContext);
在点击消失前加上
setBackgroundAlpha(1.0f,mContext);
按着这种方法,背景是变灰了,然而却坠入另一个坑,我用的红米Note2测试机,每次弹出变灰后
后面背景直接变成了手机桌面,纠结了一段时间,最终得到完美解决
只需在((Activity) mContext).getWindow().setAttributes(lp);上面加上
((Activity) mContext).getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
即可。
/**
* 设置背景颜色
* @param bgAlpha
*/
public static void setBackgroundAlpha(float bgAlpha, Context mContext) {
WindowManager.LayoutParams lp = ((Activity) mContext).getWindow()
.getAttributes();
lp.alpha = bgAlpha;
((Activity) mContext).getWindow().setAttributes(lp);
}