先看效果图
点击蓝色字会有事件响应。
code 如下:
SpannableStringBuilder stringBuilder = new SpannableStringBuilder("系统已发送一组验证码到您的手机。 如未收到,20秒后点此重发>>>"); ClickableSpan clickableSpan = new ClickableSpan() { @Override public void onClick(View widget) { //todo } @Override public void updateDrawState(TextPaint ds) { //为响应事件的文字设置颜色 ds.setColor(ds.linkColor); // 去掉下划线 ds.setUnderlineText(false); } }; // 取可响应事件的文字段 stringBuilder.setSpan(clickableSpan, stringBuilder.length() - 7, stringBuilder.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); tv_message.setMovementMethod(LinkMovementMethod.getInstance()); tv_message.setText(stringBuilder);
未做深入研究,只是记下以备忘。