android string.xml中设置部分字体颜色或者样式

在程序中经常需要给部分文字添加颜色或者加粗,斜体之类的,想到的最好方式当然是用html,android的TextView也是支持加载基础的html的代码的。

在string.xml中添加需要高亮的文字

%1$s 话题

首先想到的应该就是这样吧,这样编译不会报错,但是没有任何效果,为什么呢?因为xml把font也当作一个标签来读取了(android studio会高亮),但是又不能识别,所以没有任何效果。

我们应该吧 < 和 > 符号进行转义

以下为XML标志符的数字和字符串转义符
”               (" 或 ")
‘                (' 或 ')
&              (& 或 &)
lt(<)          (< 或 <)
gt(>)         (> 或 >)

转义后的字符串为

%1$s 话题

在代码中进行设置就好

textView.setText(Html.fromHtml(String.format( getString(R.string.num), 10)));