Disons que je spécifie la disposition de mon DialogFragment
dans un fichier de mise en page xml nommé my_dialog_fragment.xml
et que je spécifie les valeurs layout_width
et layout_height
de sa vue racine à une valeur fixe (par exemple 100dp
). Ensuite, j'inclus cette mise en page dans la méthode onCreateView(...)
de mon DialogFragment
comme suit :
View view = inflater.inflate(R.layout.my_dialog_fragment, container, false);
Quand mon DialogFragment
apparaît, il ne respecte pas les valeurs layout_width
et layout_height
spécifiées dans son fichier de mise en page xml et se rétrécit ou s'agrandit plutôt en fonction de son contenu. Est-ce que quelqu'un sait si et comment je peux amener mon DialogFragment
à respecter les valeurs layout_width
et layout_height
spécifiées dans son fichier de mise en page xml ? Pour le moment, je dois spécifier à nouveau la largeur et la hauteur du Dialog
dans la méthode onResume()
de mon DialogFragment
comme suit :
getDialog().getWindow().setLayout(width, height);
Le problème avec cela est que je dois me rappeler de faire les modifications futures de la largeur et de la hauteur à deux endroits.
2 votes
Considérez d'accepter la réponse de jpmcosta. Ce n'est pas un hack et cela résout réellement le problème.