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

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);
}
www.zeeklog.com  - Android开发:通过透明度设置背景变暗