同一TextView 上的文字設置不同的顏色,大小等


JAVA代碼如下:
 
String str = "我們都是aaa中國人";
SpannableStringBuilder style=new SpannableStringBuilder(str); 
//SpannableStringBuilder實現CharSequence接口 
style.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE ); 
style.setSpan(new ForegroundColorSpan(Color.YELLOW), 2, 7,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE ); 
style.setSpan(new ForegroundColorSpan(Color.GREEN), 7, 10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE ); 
tv.setText(style);//將其添加到tv中 

 

創建完Spannable對象后,就可以為它們設置Span來實現想要的Rich Text了,常見的Span有: 
•AbsoluteSizeSpan(int size) ---- 設置字體大小,參數是絕對數值,相當於Word中的字體大小
•RelativeSizeSpan(float proportion) ---- 設置字體大小,參數是相對於默認字體大小的倍數,比如默認字體大小是x, 那么設置后的字體大小就是x*proportion,這個用起來比較靈活,proportion>1就是放大(zoom in), proportion<1就是縮小(zoom out)
•ScaleXSpan(float proportion) ---- 縮放字體,與上面的類似,默認為1,設置后就是原來的乘以proportion,大於1時放大(zoon in),小於時縮小(zoom out)
•BackgroundColorSpan(int color) ----背景着色,參數是顏色數值,可以直接使用android.graphics.Color里面定義的常量,或是用Color.rgb(int, int, int)
•ForegroundColorSpan(int color) ----前景着色,也就是字的着色,參數與背景着色一致
•TypefaceSpan(String family) ----字體,參數是字體的名字比如“sans", "sans-serif"等
•StyleSpan(Typeface style) -----字體風格,比如粗體,斜體,參數是android.graphics.Typeface里面定義的常量,如Typeface.BOLD,Typeface.ITALIC等等。
•StrikethroughSpan----如果設置了此風格,會有一條線從中間穿過所有的字,就像被划掉一樣
對於這些Sytle span在使用的時候通常只傳上面所說明的構造參數即可,不需要設置其他的屬性,如果需要的話,也可以對它們設置其他的屬性,詳情可以參見<文檔>。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM