If you've played around with creating dialogs using the
DialogFragment
class, you've probably noticed that the layout_width
and layout_height
parameters that you assign in your DialogFragment's xml layout file are ignored (disrespected!) and the operating system assigns height and width to your DialogFragment however it so wishes!
Because of this problem and because it is highly recommended to create dialogs with the
DialogFragment
class, what I do now is specify the layout_width
and layout_height
parameters in my DialogFragment's xml layout file as match_parent
. And then, more importantly, I specify the dialog's height and width in my DialogFragment.onStart()
method as follows:
@Override
public void onStart() {
super.onStart();
// safety check
if (getDialog() == null) {
return;
}
int dialogWidth = ... // specify a value here
int dialogHeight = ... // specify a value here
getDialog().getWindow().setLayout(dialogWidth, dialogHeight);
// ... other stuff you want to do in your onStart() method
}