能不能实现使用一个textview
修改多个文本字符串的文本颜色,我用Html.fromHtml
尝试失败:
textViewPrevChat.append("\n"+Html.fromHtml("<b>Bold string </b>")+somestringhere);
运行之后,所有的字体加粗,但是在
中的颜色属性没有改变。使用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;
}
SpannableString可以实现,可以改变TextView的字符串中的部分字体样式,如颜色等