android开发解决华为手机“屏幕背景透明不兼容”

/**
 * 设置添加屏幕的背景透明度
 * @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);
}
上述代码中蓝色部分即为兼容代码,亲测可行。有的资料说,将上述代码中lp.alpha换成lp.dimAmount也行。这个大家可以自行验证。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值