zoukankan      html  css  js  c++  java
  • SpannableString富文本

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

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

    起初写了一个函数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;
             }    
            
  • 相关阅读:
    【杭电】[2071]无限的路
    【杭电】[1161]Eddy's mistakes
    【杭电】[1859]最小长方形
    【杭电】[2083]简易版之最短距离
    【CodeForces】[614A]Link/Cut Tree
    【杭电】[2076]夹角有多大
    【杭电】[2055]An easy problem
    【杭电】[2036]改革春风吹满地
    【杭电 】[2040]亲和数
    【杭电】[2044]一只小蜜蜂...
  • 原文地址:https://www.cnblogs.com/lucky-star-star/p/3873625.html
Copyright © 2011-2022 走看看