Как установить часть текста в Bold при использовании AlertDialog
setMessage()
? Добавление <b>
и </b>
к моему String
не работает.
Как установить часть текста полужирным при использовании AlertDialog.setMessage() в Android?
Ответ 1
Вам также нужно использовать 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 {
@Suppress("DEPRECATION")
AlertDialog.setMessage(Html.fromHtml("Hello "+"<b>"+"World"+"</b>"));
}
Подробнее читайте в этом ответе.
Ответ 2
На этой странице описано, как добавить форматирование HTML в строки ресурсов.
<resources>
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.
</string>
</resources>
И не забудьте использовать: Html.fromHtml
AlertDialog.setMessage(Html.fromHtml(getString(R.string.welcome_messages)));
Это работает для меня
Ответ 3
<string name="abouttxt">"<b>Info</b>\ntexttxtxtxtxt"</string>
это работает для меня в xml
Ответ 4
В случае, если кто-то хочет добавить только одну строку:
<string name="abouttxt"><b>Enter license key</b></string>
Добавьте эту строку в свой код Alertdialog.
dialog.setTitle(Html.fromHtml(getString(R.string.abouttxt)))