https://www.jianshu.com/p/690ef18bfb25
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
if (mIViewOnClickListener != null) {
mIViewOnClickListener.onViewClicked(widget.getId());
}
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
};
tvArgument.setMovementMethod(LinkMovementMethod.getInstance());
SpannableStringBuilder style = new SpannableStringBuilder("已阅读并同意《用户充值协议》");
int color = getResources().getColor(R.color._49a2f5);
// 注意区分 给text region 设置点击监听 和 颜色的先后顺序, 必须先设置监听, 再设置 颜色, 否则颜色采用默认的红色
style.setSpan(clickableSpan, 6, 14, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
style.setSpan(new ForegroundColorSpan(color), 6, 14, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tvArgument.setText(style);
tvArgument.setHighlightColor(Color.parseColor("#00ffffff"));