android SpannableString打造多彩的文本展示效果

SpannableString是一种字符串类型,TextView可以直接设置并显示它,但不同于String的是它可以设置文本各种不同的显示效果,而且还可以只改变你规定的区间内部分文本显示的效果

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 从起始下标到终了下标,包括终了下标

what的几种格式

ForegroundColorSpan(前景色)

SpannableString spannableString = new SpannableString("前景色是蓝色");
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#0099EE"));
spannableString.setSpan(colorSpan,4,spannableString.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(spannableString);

**这里写图片描述**

BackgroundColorSpan(背景色)

SpannableString spannableString2 = new SpannableString("背景色是绿色");
BackgroundColorSpan colorSpan2 = new BackgroundColorSpan(Color.parseColor("#AC00FF30"));
spannableString2.setSpan(colorSpan2,4,spannableString2.length(),Spanned.SPAN_INCLUSIVE_INCLUSIVE);
textView2.setText(spannableString2);

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_37918409/article/details/81873582
今日推荐