我正在使用AbstractDialogFragment扩展类在移动应用程序中显示一个对话框。如何设置宽度以匹配屏幕尺寸?
我已经尝试覆盖onResume()方法并设置宽度和高度,获取窗口的尺寸,但是我只想设置宽度。
这是我尝试过的:
@Override
public void onResume()
{
super.onResume();
Window window = getDialog().getWindow();
// ...
// get window width and height
// ...
window.setLayout(width, height);
window.setGravity(Gravity.CENTER);
}
我希望对话框的宽度相对于屏幕宽度。
答案 0 :(得分:0)
您可以使用此代码设置对话的高度,也可以选中this
Window window = dialog.getWindow();
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.gravity = Gravity.CENTER;
window.setAttributes(wlp);
dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
答案 1 :(得分:0)
尝试这样:
Dialog dialog = getDialog();
if (dialog != null) {
int width = ViewGroup.LayoutParams.MATCH_PARENT;
int height = ViewGroup.LayoutParams.MATCH_PARENT;
Objects.requireNonNull(dialog.getWindow())
.setFlags(
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
Objects.requireNonNull(dialog.getWindow()).setLayout(width, height);
}