这里有两种方法设置背景变暗,选择一种适合你的
方法一:通过调节透明度,来调节背景
/**
* 设置背景透明度
*
* @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);
}