2 o19830015 o19830015 于 2013.01.22 11:12 提问

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

能不能实现使用一个textview修改多个文本字符串的文本颜色,我用Html.fromHtml尝试失败:

textViewPrevChat.append("\n"+Html.fromHtml("<b>Bold string </b>")+somestringhere);

运行之后,所有的字体加粗,但是在

中的颜色属性没有改变。

2个回答

loFataMer
loFataMer   2013.01.22 11:28
已采纳

使用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;
    }
oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.07.27 20:35

SpannableString可以实现,可以改变TextView的字符串中的部分字体样式,如颜色等

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!