TextView & Spannable

TextView.setText(CharSequence text)

該方法接受一個CharSequence類型的參數作爲輸入,除了String之外,我們還可以提供Spannable類型的參數。

Spannable.setSpan(Object what, int start, int end, int flags)

該方法可以使用特定的【markup對象】對指定區間的文字進行格式設置,可以使用的屬性如下:

CharacterStyle - ForegroundColorSpan【文字顏色】,TypefaceSpan【字體】,AbsoluteSizeSpan【字號】

TextAppearanceSpan【通過style中預定義的屬性進行設置】,該span obj可以同時將多個屬性組合到一起,比起設置一個一個設置方便許多。

ParagraphStyle - 

TextWatcher -

SpanWatcher - 


區間使用Exclusive & Inclusive進行修飾,使用數學中的開閉區間

SPAN_EXCLUSIVE_EXCLUSIVE - ()

SPAN_INCLUSIVE_INCLUSIVE - []

SPAN_INCLUSIVE_EXCLUSIVE - [)

SPAN_EXCLUSIVE_INCLUSIVE - (]


SpannableStringBuilder作爲Spannable的子類,可以對多段文字進行格式設置。使用[)標記,可以對多段文字進行格式設置,每段文字使用不同的屬性。我們可以將每段文字以及對應這段文字的一組屬性放在同一個對象中,然後將一組對象以鏈表的形式串起來,最後對鏈表進行遍歷,爲每段文字設置對應的屬性,這樣就可以在一個TextView對象中顯示不同風格的文字了。


To be continue...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章