? ? ? ?在正常的項(xiàng)目中头滔,我們常會(huì)碰到設(shè)計(jì)給出的顯示方案相种,要求一句話用不同的顏色和不同的字號(hào)來(lái)顯示己沛,以突出某些重點(diǎn)臂拓,本人以往的解決方案是多個(gè)textview拼接(很不靠譜)和Html拼接(略麻煩)传蹈,今天發(fā)現(xiàn)了一個(gè)更好的顯示方式押逼,可以u(píng)til封裝,隨時(shí)可用惦界,方便的很挑格。
?方法介紹
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ù)說(shuō)明:context 上下文環(huán)境
src1,src2沾歪,源數(shù)據(jù)漂彤,即需要顯示的文字等
style1,style2,對(duì)應(yīng)的顯示樣式,比如我們?cè)趕tyle資源文件下寫(xiě)一個(gè)自己的style
<style name = "text_15_000000">
<item name = "android:textSize"> 30dip</item>
<item name ="android:textColor ">#000000</item>
</style>
利用上面的方法灾搏,我們就可以讓一個(gè)textview顯示出兩種不同的字體樣式了挫望。
當(dāng)然,我們還可以一次類(lèi)推狂窑,讓textview顯示出更多的字體樣式媳板,目前我寫(xiě)過(guò)的最大數(shù)量是5種。
附效果截圖(剛開(kāi)始寫(xiě)文章泉哈,格式什么的得慢慢摸索了)