前段时间开发时遇到要在一段文字中显示不同的效果,比如字体颜色,号码高亮,超链接等等。
因为之前项目也有过,但是由于用的比较少,就都做特殊处理了。这次遇到很多地方都要用到,就不妨来讲讲一个很好用的类SpannableString!
首先我们先了解下SpannableString
- SpannableString类似String也是一种字符串类型。
- 所以TextView也可以直接设置SpannableString作为显示文本
- SpannableString可以通过使用其方法setSpan方法实现字符串各种形式风格的显示,String则不能
- SpannableString可以指定设置的区间,为指定下标区间内的子字符串设置格式。
- what表示设置的格式是什么,可以是前景色、背景色也可以是可点击的文本等等
- start表示需要设置格式的子字符串的起始下标
- 同理end表示终了下标
- flags共有四种属性
<span style="white-space:pre"> </span>Spanned.SPAN_INCLUSIVE_EXCLUSIVE 从起始下标到终了下标,包括起始下标
<span style="white-space:pre"> </span>Spanned.SPAN_INCLUSIVE_INCLUSIVE 从起始下标到终了下标,同时包括起始下标和终了下标
<span style="white-space:pre"> </span>Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 从起始下标到终了下标,但都不包括起始下标和终了下标
<span style="white-space:pre"> </span>Spanned.SPAN_EXCLUSIVE_INCLUSIVE 从起始下标到终了下标,包括终了下标