一个 TextView 显示的字段理论上可以显示成各种样式,也可以随意控制任意文字的点击事件。
主要还是SpannableStringBuilder 这个类比较强大,它有个setSpan的方法。
这个方法的参数中的start 和 end 用来截取部分需要加特效的文字。
第一个参数 what 可以是 ① ClickableSpan对象,控制点击事件;
②ForegroundColorSpan对象,控制背景色;
③UnderlineSpan对象,控制下划线;
and so on.
//去除点击时的背景色。
textView.setHighlightColor(this.getResources().getColor(android.R.color.transparent));
//很重要,设置点击响应。
textView.setMovementMethod(LinkMovementMethod.getInstance());
//最后,你的SpannableStringBuilder 对象直接拿去用就好了。
textView.setText(builder);