AlertDialog设置大小与设置为圆角后有阴影

1.设置为圆角后有阴影
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
2.设置大小
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.width = 
  AnimationTest.this.getResources().getDimensionPixelSize(R.dimen.dialog_width);
lp.height = 
AnimationTest.this.getResources().getDimensionPixelSize(R.dimen.dialog_height);
dialog.getWindow().setAttributes(lp);
3.设置对话框的透明度
Window window = dialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.alpha = 0.9f;
window.setAttributes(lp);
//alpha 在0.0f到1.0f之间,1.0完全不透明,0.0f完全透明
4.设置自身黑暗度
Window window = dialog.getWindow();
WindowManager.LayoutParams lp=dialog.getWindow().getAttributes();
lp.dimAmount=1.0f;
window.setAttributes(lp);
window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
//dimAmount在0.0f和1.0f之间,0.0f完全不暗,1.0f全暗
5.Dialog底部背景
WindowManager.LayoutParams.FLAG_BLUR_BEHIND(设置模糊)
WindowManager.LayoutParams.FLAG_DIM_BEHIND(设置暗淡)
6.清楚Dialog底部背景模糊和黑暗度
getDialog().getWindow().clearFlags(
WindowManager.LayoutParams.FLAG_BLUR_BEHIND 
|WindowManager.LayoutParams.FLAG_DIM_BEHIND)
5.设置点击其他位置不消失 
  setCanceledOnTouchOutside(false);按对话框其他位置不起作用。按返回键还起作用 
  setCancelable(false);,按对话框其他位置不起作用。按返回键也不起作用

你可能感兴趣的:(AlertDialog设置大小与设置为圆角后有阴影)