textview的顯示多樣化(SPAN)

? ? ? ?在正常的項目中,我們常會碰到設(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種。

附效果截圖(剛開始寫文章,格式什么的得慢慢摸索了)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容