天天看點

Android 自定義對話框(控制大小、位置)

一、自定義dialog繼承自Dialog,在onCreate()方法中填下如下代碼控制大小

DisplayMetrics dm = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(dm);

LayoutParams p = getWindow().getAttributes(); // 擷取對話框目前的參數值
p.height = (int) (dm.heightPixels * 0.6); // 高度設定為螢幕的0.6
p.width = (int) (dm.widthPixels * 0.8); // 寬度設定為螢幕的0.8
getWindow().setAttributes(p); // 設定生效
           

二、在生成上面對話框執行個體的地方,添加如下代碼控制位置

Window dialogWindow = dialog.getWindow();
dialogWindow.setGravity(Gravity.CENTER);//對話框在螢幕上的位置