天天看點

SpanableString實作絢麗文本效果

SpanableString可以對String處理來實作絢麗的文本效果,下面介紹一下使用方法。

一、通過構造方法傳入要處理的字元串,如 SpannableString ss = new SpannableString("我是要處理的字元串");

二、通過setSpan(Object what, int start, in end, int flags)設定效果。what表示設定格式;start表示字元串起始設定的下标;end表示終止下标;flags表示起始終止下标的屬性

1、flag屬性介紹:

Spanned.SPAN_INCLUSIVE_EXCLUSIVE:從起始下标到終止下标,包括起始下标但不包括終止下标

Spanned.SPAN_INCLUSIVE_INCLUSIVE:從起始下标到終止下标,同時包括起始和終止下标

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE:從起始下标到終止下标,不包括起始和終止下标

Spanned.SPAN_EXCLUSIVE_INCLUSIVE:從起始下标到終止下标,不包括起始下标但包括終止下标

2、what屬性介紹

ForegroundColorSpan:設定文本顔色

BackgroundColorSpan:設定文字背景色

RelativeSizeSpan:設定文字相對大小

StrikethtoughSpan:設定文本中劃線

UnderlineSpan:設定文本下劃線

SuperscriptSpan:設定上标

SubscriptSpan:設定下标

StyleSpan:設定字型風格(粗體Typeface.BOLD、斜體Typeface.ITALIC)

ImageSpan:設定文本圖檔(構造方法傳入Drawable對象)

ClickableSpan:設定可點選文本

URLSpan:設定超連結文本

MaskFilterSpan:設定模糊和浮雕效果

RasterizerSpan:設定光栅效果

最後介紹SpannableStringBuilder,和StringBuilder類似都是使用append()方法實作字元串拼接。