? ? ? ?在正常的項目中,我們常會碰到設(shè)計給出的顯示方案,要求一句話用不同的顏色和不同的字號來顯示,以突出某些重點,本人以往的解決方案是多個textview拼接(很不靠譜)和Html拼接(略麻煩),今天發(fā)現(xiàn)了一個更好的顯示方式,可以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;
}
參數(shù)說明:context 上下文環(huán)境
src1,src2,源數(shù)據(jù),即需要顯示的文字等
style1,style2,對應(yīng)的顯示樣式,比如我們在style資源文件下寫一個自己的style
<style name = "text_15_000000">
<item name = "android:textSize"> 30dip</item>
<item name ="android:textColor ">#000000</item>
</style>
利用上面的方法,我們就可以讓一個textview顯示出兩種不同的字體樣式了。
當(dāng)然,我們還可以一次類推,讓textview顯示出更多的字體樣式,目前我寫過的最大數(shù)量是5種。
附效果截圖(剛開始寫文章,格式什么的得慢慢摸索了)
