纯纯的一边开发一边学习,是小白是菜鸟,单纯的记录和学习,大神勿喷,理解有错望指正~
在工作中遇到了一个需求将Dialog的遮罩层变成全黑,为了完成这个需求我对此上网查了一下,但是大部分都是针对Dialog的背景而不是遮罩层,所以在此处记录一下。
先奉上一段创建Dialog的代码:
private AlertDialog.Builder mBuilder;
private AlertDialog mAlertDialog;
View view = LayoutInflater.from(this).inflate(R.layout.dialog_test, null);
mBuilder = new AlertDialog.Builder(this).setView(view);
mBuilder.create().getWindow().setBackgroundDrawableResource(android.R.color.transparent);
mAlertDialog = mBuilder.create();
mAlertDialog.getWindow().setDimAmount(1f);
mAlertDialog.show();
其中mAlertDialog.getWindow().setDimAmount(1f);
就是设置遮罩层的关键,参数是float
类型;
0f = 透明;
0.5f = 半透明;
1f = 全黑;