在一个textview中批量修改文本颜色

能不能实现使用一个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的字符串中的部分字体样式,如颜色等