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...

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