Cela devrait être une tâche simple, mais pour une raison quelconque, je peux trouver un moyen de définir le titre d'un DialogFragment . (Je configure le contenu de la boîte de dialogue en utilisant une onCreateView
surcharge).
Le style par défaut laisse une place au titre, mais je ne trouve aucune méthode sur la DialogFragment
classe pour le définir.
Le titre est en quelque sorte défini comme par magie lorsque la onCreateDialog
méthode est utilisée pour définir le contenu, je me demande donc si c'est par conception, ou s'il existe une astuce spéciale pour le définir lors de l'utilisation de la onCreateView
surcharge.
Est-ce que le remplacement
onCreateDialog
et la définition du titre directement sur l'Dialog
œuvre? Comme ça:la source
La réponse de Jason fonctionnait pour moi, mais maintenant, il faut les ajouts suivants pour que le titre s'affiche.
Tout d'abord, dans la
onCreate()
méthode de votre MyDialogFragment , ajoutez:setStyle(DialogFragment.STYLE_NORMAL, R.style.MyDialogFragmentStyle);
Ensuite, dans votre fichier styles.xml, ajoutez:
Après des heures à essayer différentes choses, c'est le seul qui a fait l'affaire pour moi.
NB - Vous devrez peut-être changer le
Theme.AppCompat.Light.Dialog.Alert
pour quelque chose d'autre afin de correspondre au style de votre thème.la source
android:windowNoTitle
false
n'était pas nécessaire après le passage àAndroid.Support.V7.App.AppCompatDialogFragment
deAndroid.Support.V4.App.DialogFragment
, ni suffisant car il entraînait des titres en double (même si je me suis assuré qu'il n'était défini qu'une seule fois).DialogFragment peut être représenté sous forme de dialogue et d'activité. Utilisez le code ci-dessous qui fonctionnerait correctement pour les deux
la source
Vous pouvez consulter les documents officiels . La façon dont je l'ai fait est comme ceci:
la source