dialog怎么設(shè)置全屏?
1.如果您是直接從資源值轉(zhuǎn)換:intwidth=getResources().getDimensionPixelSize(R.dimen.popup_width);
intheight=getResources().getDimensionPixelSize(R.dimen.popup_height);
getDialog().getWindow().setLayout(width,height);
然后在你的布局中指定match_parent的對(duì)話框:android:layout_width="match_parent"
android:layout_height="match_parent"
你只需要擔(dān)心一個(gè)地方。它并不完美,但至少它適用于有一個(gè)RelativeLayout作為你的對(duì)話框的布局文件的根目錄。
2.我有一個(gè)固定大小的定義在XML主要布局(LinearLayout中在我的情況)以下內(nèi)容:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="1000dp"
android:minHeight="450dp"
3.你可以在下面的代碼從Java布局設(shè)置寬度和高度。finalAlertDialogalertDialog=alertDialogBuilder.create();
finalWindowManager.LayoutParamsWMLP=alertDialog.getWindow().getAttributes();
WMLP.gravity=Gravity.TOP;
WMLP.y=mActionBarHeight;
WMLP.x=getResources().getDimensionPixelSize(R.dimen.unknown_image_width);
alertDialog.getWindow().setAttributes(WMLP);
alertDialog.show();
4.在我的情況下工作的唯一的事情是該解決方案在這里指出:
從阿迪爾博客文章片段:@Override
publicvoidonStart()
{
super.onStart();
//safetycheck
if(getDialog()==null)
return;
intdialogWidth=...//specifyavaluehere
intdialogHeight=...//specifyavaluehere
getDialog().getWindow().setLayout(dialogWidth,dialogHeight);
//...otherstuffyouwanttodoinyouronStart()method
}
5.我固定它設(shè)置根布局intwidth=activity.getResources().getDisplayMetrics().widthPixels;
intheight=activity.getResources().getDisplayMetrics().heightPixels;
content.setLayoutParams(newLinearLayout.LayoutParams(width,height));