textview的显示多样化(SPAN)

2015-11-24  本文已影响655人  Heymie黑米

       在正常的项目中,我们常会碰到设计给出的显示方案,要求一句话用不同的颜色和不同的字号来显示,以突出某些重点,本人以往的解决方案是多个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种。

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

上一篇下一篇

猜你喜欢

热点阅读