控制对话框的关闭
对话框的任何一个按钮,只要点击,默认状态下均会关闭对话框。对话框的关闭是由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);
改变对话框的位置 www.zzzyk.com
Window window = alertDialog.getWindow();
window.setGravity(Gravity.TOP); //window.setGravity(Gravity.BOTTOM);
补充:综合编程 , 其他综合 ,