控制对话框的关闭

对话框的任何一个按钮,只要点击,默认状态下均会关闭对话框。对话框的关闭是由AlertDialog.mShowing这个变量控制的,只要在单击按钮的过程中修改这个变量的值就可以了。

try{

Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");

field.setAccessible(true);

//将mShowing变量设置 为false,好让系统认为这个dialog已经关闭

field.set(dialog,false);

}catch (Exception e){}


改变对话框的透明度

WindowManager.LayoutParams lp=dialog.getWindow().getAttributes();
                lp.alpha=1.0f;
                dialog.getWindow().setAttributes(lp);
alpha在0.0f到1.0f之间。1.0完全不透明,0.0f完全透明
设置黑暗度
dialog.setContentView(R.layout.dialog);
                WindowManager.LayoutParams lp=dialog.getWindow().getAttributes();
                lp.dimAmount=1.0f;
                dialog.getWindow().setAttributes(lp);
                dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dimAmount在0.0f和1.0f之间,0.0f完全不暗,1.0f全暗
还有个FLAG用途设置背景模糊,dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

改变对话框的位置

  1. Window window = alertDialog.getWindow();     
  2. window.setGravity(Gravity.TOP);   //window.setGravity(Gravity.BOTTOM);   



你可能感兴趣的:(exception,dialog)