我的资源中有一个字符串:
<string name="region"><b>Region:</b> %1$s</string>
我正在尝试将此文本设置为textview:
tvRegion.setText(Html.fromHtml(R.string.region, "France"));
问题是字符串“region”不是粗体!
答案 0 :(得分:8)
有时您可能想要创建一个也用作格式字符串的样式化文本资源。通常,这不起作用,因为
String.format(String, Object...)
方法将从字符串中删除所有样式信息。解决此问题的方法是使用转义实体编写HTML标记,然后在格式化后使用fromHtml(String)
恢复。
当将html标记的开头括号插入任何xml资源文件时,您需要对其进行HTML转义。
<string name="region"><b>Region:</b> %1$s</string>
答案 1 :(得分:3)
以下是如何在xml中执行此操作:
<string name="region"><![CDATA[<b>Region:</b> %1$s]]></string>
和java代码:
String str = getString(R.string.action_about_msg, "France");
tvRegion.setText(Html.fromHtml(str));
答案 2 :(得分:1)
您可以直接在 Html.fromHtml()
方法中使用HTML文字。试试这种方式..
tvRegion.setText(Html.fromHtml("<b>" + yourtext+ "</b>" + "Other text.."));
使用此功能,您可以使用HTML标签设置字符串样式..如您所愿..