該接口定義了一個工廠類,首先想到的是減少與實現類的耦合,提高可維護性。 轉載至http://www.ithao123.cn/content-101951.html
SpannableString像一個String一樣,而SpannableStringBuilder則更像是StringBuilder。 詳見http://blog.csdn.net/harvic880925/article/details/38984705 
void setSpan (Object what, int start, int end, int flags) 參數說明:
object what :對應的各種Span; int start:開始應用指定Span的位置,索引從0開始 int end:結束應用指定Span的位置,特效并不包括這個位置。比如如果這里數為3(即第4個字符),第4個字符不會有任何特效。 int flags:取值有如下四個 Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:前后都不包括,即在指定范圍的前面和后面插入新字符都不會應用新樣式 Spannable.SPAN_EXCLUSIVE_INCLUSIVE :前面不包括,后面包括。即僅在范圍字符的后面插入新字符時會應用新樣式 Spannable.SPAN_INCLUSIVE_EXCLUSIVE :前面包括,后面不包括。 Spannable.SPAN_INCLUSIVE_INCLUSIVE :前后都包括。
要應用一個Span總共分三步:
1、構造String 2、構造Span 3、利用SetSpan()對指定范圍的String應用這個Span
舉一個栗子:
//hahahaha你好好你好好SpannableString ss = new SpannableString(mTextView.getText());ForegroundColorSpan foregroundColor = new ForegroundColorSpan(Color.CYAN);ss.setSpan(foregroundColor,3,5, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);mTextView.setText(ss);效果

注意:flag的作用是指插入新的字符后,是否跟設置的樣式一致。
其他:字體背景顏色(BackgroundColorSpan),字體大小(AbsoluteSizeSpan),粗體、斜體(StyleSpan),刪除線(StrikethroughSpan),下劃線(UnderlineSpan),圖片置換(ImageSpan) 轉載至 http://blog.csdn.net/harvic880925/article/details/38984705
|
新聞熱點
疑難解答