如何在Android中使用AlertDialog.setMessage()时将部分文本设置为粗体?

2022-08-31 17:08:40

使用 时如何将部分文本设置为粗体?添加 和 到 my 不起作用。AlertDialogsetMessage()<b></b>String


答案 1

您也需要使用。例如:Html.fromHtml()

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

更新:
看起来 Html.fromHtml(字符串源代码)在最新的 Android Nougat 版本中已被弃用。尽管弃用并不意味着你现在需要更改代码,但最好尽快从应用中删除已弃用的代码。
替换是 Html.fromHtml(字符串源,int 标志)。您只需要添加一个提及标志的附加参数。

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 &lt;b>%2$d new messages&lt;/b>.  
    </string>
</resources>

不要忘记使用:Html.fromHtml

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

这对我有用


推荐