![](https://img.haomeiwen.com/i9064767/21f5bf6e573c8ae6.png)
image.png
final String content = "2019-12-31(I LOVE CYY)!My girl friend!";
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
spannableStringBuilder.append(content);
final int startPos = content.indexOf("(");
final int endPos = content.indexOf(")");
//设置部分文字点击事件
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(MainActivity.this, content.substring(startPos, endPos + 1), Toast.LENGTH_SHORT).show();
}
@Override
public void updateDrawState(TextPaint ds) {
// 设定的是span超链接的文本颜色,而不是点击后的颜色
ds.setColor(MainActivity.this.getResources().getColor(R.color.colorAccent));
ds.setUnderlineText(false); //去除超链接的下划线
ds.clearShadowLayer();//清除阴影
}
};
spannableStringBuilder.setSpan(clickableSpan, startPos, endPos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置部分文字颜色
ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.colorAccent));
spannableStringBuilder.setSpan(foregroundColorSpan, startPos, endPos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tvAgreementContent.setHighlightColor(getResources().getColor(android.R.color.transparent));//点击后的背景颜色,Android4.0以上默认是淡绿色,低版本的是黄色
tvAgreementContent.setText(spannableStringBuilder);
tvAgreementContent.setMovementMethod(LinkMovementMethod.getInstance());
网友评论