Comment définir une partie du texte en gras lorsque vous utilisez setMessage()
de AlertDialog
? Ajouter <b>
et </b>
à mon String
ne fonctionne pas.
Vous devez également utiliser Html.fromHtml()
. Par exemple:
AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));
Mise à jour:
On dirait que Html.fromHtml(String source)
a été déconseillé dans la dernière version Android Nougat version. modifiez votre code maintenant, mais il est recommandé de supprimer le code obsolète de votre application dès que possible.
Le remplacement est Html.fromHtml(String source, int flags)
. Il vous suffit d'ajouter un paramètre supplémentaire mentionnant un indicateur.
if (Android.os.Build.VERSION.SDK_INT >= Android.os.Build.VERSION_CODES.N) {
AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>", Html.FROM_HTML_MODE_LEGACY));
} else {
@Suppress("DEPRECATION")
AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));
}
Pour plus de détails, jetez un œil à cette réponse .
Cette page décrit comment ajouter une mise en forme HTML aux chaînes de ressources.
<resources>
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.
</string>
</resources>
Et n'oubliez pas d'utiliser: Html.fromHtml
AlertDialog.setMessage(Html.fromHtml(getString(R.string.welcome_messages)));
Ça marche pour moi
<string name="abouttxt">"<b>Info</b>\ntexttxtxtxtxt"</string>
cela fonctionne pour moi en xml
Dans le cas où quelqu'un souhaite ajouter une seule chaîne:
<string name="abouttxt"><b>Enter license key</b></string>
Ajoutez cette ligne dans votre code Alertdialog.
dialog.setTitle(Html.fromHtml(getString(R.string.abouttxt)))