首页 > 其他 > 详细

SpannableString富文本

时间:2014-07-29 10:33:46      阅读:653      评论:0      收藏:0      [点我收藏+]

忍不住想吐槽这个类,这个类是要给文本设置不同的颜色、字体样式

例子:一句话中只有某几个文字想要设置成不同的颜色

起初写了一个函数setColorStyle(),

 public SpannableStringBuilder setColorStyle(String string){
       SpannableStringBuilder strSpan = new SpannableStringBuilder(string);
       strSpan.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.subject_background)),
                                     0, string.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
       
       return strSpan;
         }    

然后显示的时候,wholeTime.setText(“练习耗时”+colorSpan+“击败了很多小盆友!”);

结果显示的没有任何变化,让我百思不得其解。。。。

后来尝试了wholeTime.setText(colorSpan+“击败了很多小盆友!”);   -----------还是不行

wholeTime.setText(colorSpan)-----------------------终于可以了。。。。

 

如果想要在富文本后面添加正常的文本,必须使用spannable的append方法

colorSpan.append(",成绩超过了全国99%的小朋友!");

如果想要在富文本前面添加正常的文本,

只能重写你的setColorStyle()的函数了,让他的起点从你想要展示的文本的index开始

 

 //设置文本颜色
   public SpannableStringBuilder setColorStyle(String string){
       SpannableStringBuilder strSpan = new SpannableStringBuilder(string);
       strSpan.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.subject_background)),
                                     4, string.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
       
       return strSpan;
         }    
        

 

SpannableString富文本,布布扣,bubuko.com

SpannableString富文本

原文:http://www.cnblogs.com/lucky-star-star/p/3873625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!