SpannableStringBuilder
关键方法:setSpan
常用样式:
ForegroundColorSpan:为文本设置前景色;
BackgroundColorSpan:为文本设置文本背景色;
RelativeSizeSpan:为文本设置相对大小,在TextView原有的文字大小的基础上,相对设置文字大小;
StrikethroughSpan:为文本设置中划线,也就是常说的删除线;
UnderlineSpan:为文本设置下划线;
SuperscriptSpan:为文本设置上标,可以配合RelativeSizeSpan做数学公式中的上标;
SubscriptSpan:为文本设置下标;
StyleSpan:为文本设置(粗体、斜体)风格;
ImageSpan:将文本替换为图片;
ClickableSpan:为文本设置点击事件;
URLSpan:为文本设置超链接。
注意:
- 要让超链接起作用,需设置setMovementMethod(LinkMovementMethod.getInstance()),
- 去除超链接下划线和阴影
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
}
@Override
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
ds.clearShadowLayer();
}
};
- 去除超链接高亮
setHighlightColor(color)