Java Android:格式化字符串并添加粗体样式

Java Android:格式化字符串并添加粗体样式,java,android,string,format,Java,Android,String,Format,我的资源中有一个字符串: <string name="region"><b>Region:</b> %1$s</string> 问题是字符串“region”不是粗体 以下是如何在xml中做到这一点: <string name="region"><![CDATA[<b>Region:</b> %1$s]]></string> 发件人: 有时,您可能希望创建一个样式化的文本资源,该资源也用

我的资源中有一个字符串:

<string name="region"><b>Region:</b> %1$s</string>

问题是字符串“region”不是粗体

以下是如何在xml中做到这一点:

<string name="region"><![CDATA[<b>Region:</b> %1$s]]></string>
发件人:

有时,您可能希望创建一个样式化的文本资源,该资源也用作格式字符串。通常,这不会起作用,因为
String.format(String,Object…)
方法将从字符串中删除所有样式信息。解决此问题的方法是使用转义实体编写HTML标记,然后在格式化完成后,使用
从HTML(字符串)
恢复这些标记

在任何xml资源文件中插入HTML标记时,都需要对其进行HTML转义

<string name="region">&lt;b>Region:&lt;/b> %1$s</string>
b>地区:/b>%1$s

您可以在
HTML.fromHtml()方法中直接使用HTML文本。。这样试试

tvRegion.setText(Html.fromHtml("<b>" + yourtext+ "</b>" + "Other text.."));
tvRegion.setText(Html.fromHtml(“+yourtext+”+“+Other text..”);

使用此选项,您可以使用HTML标记设置字符串的样式。。您可以检查返回的字符串是否正确吗?可能
b
被转义了?
<string name="region">&lt;b>Region:&lt;/b> %1$s</string>
tvRegion.setText(Html.fromHtml("<b>" + yourtext+ "</b>" + "Other text.."));