Android开发:通过透明度设置背景变暗

这里有两种方法设置背景变暗,选择一种适合你的

方法一:通过调节透明度,来调节背景

/**
 * 设置背景透明度
 *
 * @param bgAlpha 透明度值
 */
private void setBgAlpha(float bgAlpha) {
    WindowManager.LayoutParams attributes = getWindow().getAttributes();
    attributes.alpha = bgAlpha;
    //alpha在0.0f和1.0f之间,1.0f完全不暗,0.0f全暗
    if (bgAlpha == 1) {
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    } else {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    }
    getWindow().setAttributes(attributes);
}

 


方法二、通过调节黑暗度,来调节背景

/**
 * 设置黑暗度
 *
 * @param dimAmount 黑暗度
 */
private void setBgAlpha(float dimAmount) {
    WindowManager.LayoutParams attributes = getWindow().getAttributes();
    //dimAmount在0.0f和1.0f之间,0.0f完全不暗,1.0f全暗
    attributes.dimAmount = dimAmount;
    if (dimAmount == 0) {
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    } else {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
    }
    getWindow().setAttributes(attributes);
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值