正文 720字数 323,835阅读


/** * 设置添加屏幕的背景透明度 * @param bgAlpha 透明度 0-1 * @param activity */ public static void backgroundAlpha(Activity activity,float bgAlpha) { WindowManager.LayoutParams lp = activity.getWindow().getAttributes(); lp.alpha = bgAlpha; //0.0-1.0 /* 为适配华为手机,添加以下代码 */ if (bgAlpha == 1) { activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,在有视频的页面上的视频会出现黑屏的bug } else { activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug } activity.getWindow().setAttributes(lp); }
Run code
Cut to clipboard


    上述代码中蓝色部分即为兼容代码,亲测可行。有的资料说,将上述代码中lp.alpha换成lp.dimAmount也行。这个大家可以自行验证。