是否可以同时更改多个文本字符串的文本颜色TextView
?使用Html.fromHtml
不起作用:
textViewPrevChat.append("\n"+Html.fromHtml("<b>Bold string </b>")+somestringhere);
它以粗体打印整个内容。此外,其中的颜色属性<p>
不起作用。
您应该为此使用 SpannableString。这是实现此功能的示例方法:
- 这个例子改变了一半字符串的颜色,并调整了另一部分字符串的大小:
public static SpannableString categoryText(String label, String text, int colorIn) {
String strIn = label + " " + text;
SpannableString ss = new SpannableString(strIn);
ss.setSpan(new ForegroundColorSpan(colorIn), 0, label.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new RelativeSizeSpan(.80f), 0, label.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return ss;
}