美文网首页
textview的显示多样化(SPAN)

textview的显示多样化(SPAN)

作者: Heymie黑米 | 来源:发表于2015-11-24 11:57 被阅读655次

           在正常的项目中,我们常会碰到设计给出的显示方案,要求一句话用不同的颜色和不同的字号来显示,以突出某些重点,本人以往的解决方案是多个textview拼接(很不靠谱)和Html拼接(略麻烦),今天发现了一个更好的显示方式,可以util封装,随时可用,方便的很。

    �方法介绍

    public SpannableStringBuilder getSpanString(Context context,String src1,String src2,int style1,int style2){

    SpannableStringBuilder spanStr = null;

    String src =src1 + src2 ;

    int length1 = src1.length();

    int lengthAll =src.length();

    if(context!=null){

         spanStr=new SpannableStringBuilder(src);

         if(0!=length1){

         spanStr.setSpan(new                            TextAppearanceSpan(context,style1),0,length1,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE););

         }

         if(lengthAll !=length1){

     spanStr.setSpan(newTextAppearanceSpan(context,style2),length1,lengthAll,Spanned.SPAN_EXCLUSIVE_EXC LUSIVE);

         }

        }

      } 

      return spanStr;

    }

    参数说明:context 上下文环境

    src1,src2,源数据,即需要显示的文字等

    style1,style2,对应的显示样式,比如我们在style资源文件下写一个自己的style

    <style name = "text_15_000000">

    <item name = "android:textSize"> 30dip</item>

    <item name ="android:textColor ">#000000</item>

    </style>

    利用上面的方法,我们就可以让一个textview显示出两种不同的字体样式了。

    当然,我们还可以一次类推,让textview显示出更多的字体样式,目前我写过的最大数量是5种。

    附效果截图(刚开始写文章,格式什么的得慢慢摸索了)

    相关文章

      网友评论

          本文标题:textview的显示多样化(SPAN)

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