您的位置:首页 > 产品设计 > UI/UE

TextView—SpannableString的简单用法

2017-07-11 17:54 441 查看


什么是SpannableString

SpannableString 其实和String一样,都是字符串,都是实现CharSequence接口的字符串,所以TextView也可以直接设置

SpannableString作为显示文本,不同的地方就是SpannableString的一些api可以解决我们显示复杂文本的需求,可以指定设置显示区间。


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


what - 显示的格式 图片?文本?颜色?背景色?等

start - 显示的位置 字符串起始坐标

end - 显示的位置 字符串的结束坐标

flags - 四种坐标的计算规则

Spanned.SPAN_INCLUSIVE_EXCLUSIVE //从起始下标到终了下标,包括起始下标
Spanned.SPAN_INCLUSIVE_INCLUSIVE //从起始下标到终了下标,同时包括起始下标和终了下标
 
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
//从起始下标到终了下标,但都不包括起始下标和终了下标
 
Spanned.SPAN_EXCLUSIVE_INCLUSIVE // 从起始下标到终了下标,包括终了下标
 

一般第一种最常见。


ForegroundColorSpan 


设置文本字体颜色





利用SpannableString 显示文本字体颜色


BackgroundColorSpan


设置文本字体背景颜色





利用SpannableString显示文本背景颜色


UnderlineSpan


设置文本下划线





利用SpannableString 显示文本下划线


ImageSpan


顾名思义,在字符串中添加图片





利用SpannableString显示文本图片


ClickableSpan


为部分文本添加添加事件,类似于微博的@,#话题# 中点击话题可以跳转话题界面一样。





利用SpannableString添加部分点击


SpannableStringBuilder

String有StringBuilder,作用就是拼接字符串,其实SpannableString 也可以拼接字符串,是不是很方便呢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息