Utilisation de HTML dans la boîte de dialogue d'alerte Android
J'ai une certaine quantité d'informations à afficher dans la Boîte de Dialogue. Il s'agit, comme le Titre, alors, en vertu de ce texte, le Titre, alors, en vertu de ce texte. Comme sage, il y a 4 titres et 4 la description à afficher. Il devrait venir comme ça
Titre Un
description;description;description;description;description;description;description;description;description;description;description;description;description;description;description
Titre Deux
description;description;description;description;description;description;description;description;description;description;description;description;description;description;description
Comme vous pouvez le voir, il y a gras des textes, a souligné textes, les sauts de ligne etc. Je tiens à ajouter ce genre de texte de la boîte d'alerte, ce qui est en bas est ce que j'ai essayé.
TextView msg = new TextView(this);
msg.setText("<html><u>Message</u></html>")
AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setTitle("Title");
ab.setView(msg);
ab.setCancelable(false);
//rest of the code
Cependant, cette astuce ne fonctionne pas. Ce qui s'est passé est, de toutes les balises HTML ont montré qu'ils sont! Et le texte n'est pas clair! Semble comme il mélangé avec le fond de la couleur par défaut de l'AlertBox, noir. Comment puis-je résoudre ce problème? S'il vous plaît aider!
PS: Ou suis-je à l'aide de la méthode incorrecte? Mauvais boîte de dialogue?
source d'informationauteur Yohan Weerasinghe
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin d'utiliser
Html.fromHtml()
à utiliser des balises HTML dansTextView
:Et vous pouvez aussi voir tous les Balises HTML pris en charge par
TextView
.Si vous souhaitez ajouter un lien et de le rendre cliquable,
Comme il s'avère, vous n'avez pas réellement besoin d'un TextViews pour ce faire. Il vous suffit d'inclure le code HTML de votre alerte "setMessage()" appel (qui remplace le "setView()" appel à votre question) et la passer au format html chaîne. Assurez-vous d'utiliser uniquement
<b>
<u>
et<i>
dans votre mise en forme, mais parce que ceux sont les seules balises il prend en charge. Si vous utilisez une Chaîne de ressource pour le texte de votre alerte, appelgetResources().getText(R.id.yourHtmlString)
plutôt quegetResources().getString(R.id.yourHtmlString)
bien que, ou les balises seront complètement dépouillé de la Chaîne.Essayer ce,
La couleur de la police,
Police souligner,
Si vous avez besoin d'ajouter plus complexe
HTML
avecCSS
etMETA
vous pouvez ajouter unWebView
à la boîte de dialogue, comme ceci:De cette façon, vous pouvez afficher entièrement mis en forme des pages HTML dans votre boîte de dialogue.