SpannableString可以通過使用其方法setSpan實(shí)現(xiàn)字符串各種形式風(fēng)格的顯示, 并且可以為不同的區(qū)域設(shè)置不同的顯示風(fēng)格。
SpannableString通過setSpan(Object what, int start, int end, int flags)來完成效果,其中setSpan參數(shù)作用為:
what - 表示設(shè)置的格式是什么,可以是前景色、背景色也可以是可點(diǎn)擊的文本等等:
start - 表示需要設(shè)置格式的子字符串的起始下標(biāo):
end - 表示需要設(shè)置格式的子字符串的終了下標(biāo):
flags - 表示起始終了下標(biāo)的作用,有四個(gè)參數(shù)可選:
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE 從起始下標(biāo)到終了下標(biāo),包括起始下標(biāo)
- Spanned.SPAN_INCLUSIVE_INCLUSIVE 從起始下標(biāo)到終了下標(biāo),同時(shí)包括起始下標(biāo)和終了下標(biāo)
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 從起始下標(biāo)到終了下標(biāo),但都不包括起始下標(biāo)和終了下標(biāo)
- Spanned.SPAN_EXCLUSIVE_INCLUSIVE 從起始下標(biāo)到終了下標(biāo),包括終了下標(biāo)
Span的樣式有一下幾種:
- ForegroundColorSpan:前景色
- BackgroundColorSpan:背景色
- ClickableSpan:抽象類,可點(diǎn)擊效果,重寫onClick方法響應(yīng)點(diǎn)擊事件
- URLSpan:超鏈接
- MaskFilterSpan:EmbossMaskFilter浮雕效果, BlurMaskFilter模糊效果
- RelativeSpan:文字相對大小
- AbsoluteSpan:文字絕對大小
- ScaleXSpan:x軸縮放
- StyleSpan:文字樣式
- TypefaceSpan:文字字體類型
- TextApearanceSpan:文字外貌
- UnderlineSpan:下劃線
- StrikeThroughSpan:刪除線
- SuperscriptSpan:上標(biāo)
- SubscriptSpan:下標(biāo)
- ImageSpan:圖片