Window win = selectDialog.getWindow();
LayoutParams params = new LayoutParams();
params.x = - 80 ;//设置x坐标
params.y = - 60 ;//设置y坐标
win.setAttributes(params);
selectDialog.setCanceledOnTouchOutside( true );//设置点击Dialog外部任意区域关闭Dialog
selectDialog.show();
在Android做界面时要弹出对话框让用户输入内容,经常遇到开始的时候没有内容对话框一点点,看起来很别扭,查了下资料,修改对话框的WindowManager.LayoutParams可以达到修改对话框大小的目的。
从Dialog继承一个自定义对话框类,在其构造函数中加上如下代码:
WindowManager m = getWindowManager();
Display d = m.getDefaultDisplay(); //为获取屏幕宽、高
LayoutParams p = getWindow().getAttributes(); //获取对话框当前的参数值
p.height = (int) (d.getHeight() * 0.6); //高度设置为屏幕的0.6
p.width = (int) (d.getWidth() * 0.95); //宽度设置为屏幕的0.95
Window mWindow = dialog.getWindow();
WindowManager.LayoutParams lp = mWindow.getAttributes();
lp.x= xxx;
lp.y= xxx;
缺省居中lp.x=0,lp.y=0
新坐标 x小于0左移,大于0右移;y小于0上移,大于0下移
getWindow().setAttributes(p); //设置生效
---
WindowManager m = getWindowManager();
Display d = m.getDefaultDisplay(); //为获取屏幕宽、高