天天看点

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()方法实现字符串拼接。