2 votes

Changer l'en-tête du titre de AlertDialog

Je cherche à changer l'en-tête du titre de la boîte de dialogue d'alerte mais la sortie n'est pas exactement ce que je voulais. Je crée le style suivant dans styles.xml :

    <item name="android:windowTitleStyle">@style/question_dialog_title</item>

<item name="android:background">#5cc5cc</item>
<item name="android:textSize">21sp</item>
<item name="android:textColor">#ffffff</item>

Le code Java est le suivant :

new AlertDialog.Builder(this, 
R.style.question_dialog).setTitle("Assam Quiz" ). 
setMessage("Bonjour tout le monde Bonjour tout le monde"). 
setPositiveButton("OK", (dialog, which) - > 
{dialog.dismiss();
}).show();
}

L'image d'AlertDialog est attachée. entrer la description de l'image ici

2voto

Muhammed Refaat Points 570

Sortir du style - Je pense que votre dialogue a une mise en page d'en-tête qui empêche le titre d'être en haut, mais que ce soit le cas ou non - vous pouvez facilement définir un titre personnalisé pour l'en-tête du dialogue en lui donnant uniquement la mise en page de l'en-tête, et ainsi vous aurez un contrôle total sur l'en-tête du dialogue:

// création du dialogue
AlertDialog.Builder builder = new AlertDialog.Builder(context);
// obtenir le contexte du dialogue
Context mContext = builder.getContext();
// construction de l'inflateur
LayoutInflater mLayoutInflater = LayoutInflater.from(mContext);
// gonfler la mise en page de l'en-tête du dialogue
View mView = mLayoutInflater.inflate(R.layout.simple_dialog_header, null);
// obtenir le TextView pour l'en-tête (contenu dans la mise en page de l'en-tête)
TextView mTextView = (TextView) mView.findViewById(R.id.title_text);
// définir le texte pour ce TextView
mTextView.setText(message);
// définir la vue d'en-tête personnalisée pour le dialogue
builder.setCustomTitle(mView);
/*
ici vous pouvez définir des boutons positifs, négatifs, neutres
ou définir le message du dialogue ou tout attribut souhaité
*/
// enfin, afficher le dialogue
builder.show();

et pour la mise en page de l'en-tête (R.layout.simple_dialog_header):

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X