Как установить часть текста для полужирного при использовании AlertDialog.setMessage () в Android? - PullRequest
44 голосов
/ 30 марта 2012

Как установить часть текста в Bold при использовании AlertDialog s setMessage()? Добавление <b> и </b> к моим String не работает.

Ответы [ 3 ]

92 голосов
/ 30 марта 2012

Вы должны использовать Html.fromHtml() тоже. Например,

AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));

Обновление:
Похоже, Html.fromHtml(String source) устарело в последней версии Android Nougat. Несмотря на то, что устаревание не означает, что вам нужно изменить код сейчас, но рекомендуется удалить устаревший код из приложения как можно скорее.
Замена Html.fromHtml(String source, int flags). Вам просто нужно добавить дополнительный параметр, упоминающий флаг.

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 {
   AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));
}

Для более подробной информации смотрите этот ответ

19 голосов
/ 04 сентября 2014

Эта страница описывает, как добавить форматирование HTML в строки ресурсов.

<resources>
    <string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.  
    </string>
</resources>

И не забывайте использовать: Html.fromHtml

AlertDialog.setMessage(Html.fromHtml(getString(R.string.welcome_messages)));

Этоу меня работает

0 голосов
/ 14 октября 2013
<string name="abouttxt">"<b>Info</b>\ntexttxtxtxtxt"</string>

это работает для меня в XML

...