private void getWindowSize(){
handler.post(runnable);
}
Handler handler=new Handler();
Runnable runnable=new Runnable(){
@Override
public void run() {
WindowManager mWm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
Dialog dialog = new Dialog(MainActivity.this);
dialog.setTitle("window manager test!");
dialog.show();
//必须写在show()后 写在show()前无效
dialog.setCanceledOnTouchOutside(true);//设置dialog以外能获得焦点
// WindowManager win=getWindowManager();//获取屏幕大小
// Display display=win.getDefaultDisplay();
// int width=display.getWidth();
// int height=display.getHeight();
//获取屏幕大小 上面那种已过时
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width=dm.widthPixels;
int height=dm.heightPixels;
Window dialogView=dialog.getWindow();//获取dialog的window
WindowManager.LayoutParams lp=dialogView.getAttributes();
lp.width=(int) (width*0.8);//对话框宽高
lp.height=(int)(height*0.2);
lp.x=-200;//坐标(x,y)=(0,0) 不在左上角 而是在中间!!
lp.y=-100;
dialogView.setAttributes(lp);
}
private void setCanceledOnTouchOutside(boolean b) {
// TODO Auto-generated method stub
}
};
自定义Dialog_位置 坐标
最新推荐文章于 2023-01-31 16:28:11 发布