美文网首页
实现一个TextView中设置文字的不同颜色

实现一个TextView中设置文字的不同颜色

作者: 我弟是个程序员 | 来源:发表于2017-08-25 16:41 被阅读0次

    实现效果如图:

    红线框中是一个TextView
        if (remark.getIsReviewType() == 1) {//1: 二级评论回复一级评论 ;2:二级评论回复二级评论
                holder.tv_r_remark.setText(remark.getReviewContent());
            } else {
                SpannableString spannableString = new SpannableString("回复" + "@" + remark.getReceiveNickName() + remark.getReviewContent());
                spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#507DAF")), "回复".length(), "回复@".length() + remark.getReceiveNickName().length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    
                holder.tv_r_remark.setText(spannableString);
            }
    

    SpannableString 构造函数的参数为你要改变的文本。setSpan方法有四个参数,ForegroundColorSpan是为文本设置前景色,也就是文字颜色。如果要为文字添加背景颜色,可替换为BackgroundColorSpan。

    ForegroundColorSpan有四个参数,第一个参数是要改变的颜色,第二个参数是为文本颜色改变的起始位置,第三个为文本颜色改变的结束位置。最后一个参数为布尔型,可以传入以下四种:

    • Spanned.SPAN_INCLUSIVE_EXCLUSIVE 从起始下标到终了下标,包括起始下标
    • Spanned.SPAN_INCLUSIVE_INCLUSIVE 从起始下标到终了下标,同时包括起始下标和终了下标
    • Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 从起始下标到终了下标,但都不包括起始下标和终-
    • Spanned.SPAN_EXCLUSIVE_INCLUSIVE 从起始下标到终了下标,包括终了下标

    相关文章

      网友评论

          本文标题:实现一个TextView中设置文字的不同颜色

          本文链接:https://www.haomeiwen.com/subject/ebcydxtx.html