安卓Window的透明度

来源:互联网 发布:金融网络销售聊天套路 编辑:程序博客网 时间:2024/06/15 06:50

在很多情况我们要对window的透明度进行处理,但是最近发现一个比较奇怪的问题(在使用PopupWindow的时候对屏幕的透明度进行处理)

public static void backgroundAlpha(float bgAlpha,Activity activity) {    WindowManager.LayoutParams lp = activity.getWindow().getAttributes();    lp.alpha = bgAlpha; //0.0-1.0    activity.getWindow().setAttributes(lp);}
但是在华为的手机上,这样是无用的,修改为:

public static void backgroundAlpha(float bgAlpha,Activity activity) {    WindowManager.LayoutParams lp = activity.getWindow().getAttributes();    lp.alpha = bgAlpha; //0.0-1.0    if (bgAlpha == 1) {        activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);??    } else {        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效果的bug??    }    activity.getWindow().setAttributes(lp);}
具体的原因还有待研究

原创粉丝点击