直接贴使用方法,直接搬走即可用:
String content = "你的文本";
SpannableStringBuilder spannableString = new SpannableStringBuilder(content);
//设置部分文字点击事件
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
//超链接形式的下划线,false 表示不显示下划线,true表示显示下划线
ds.setUnderlineText(false);
}
@Override
public void onClick(View widget) {
Toast.makeText(LoginActivity.this, "触发点击事件!", Toast.LENGTH_SHORT).show();
}
};
//0: 设置从哪个文字开始可以点击 5:设置到哪个文字结束可以点击
// Spanned.SPAN_EXCLUSIVE_EXCLUSIVE的四种方法可以直接百度其用法
spannableString.setSpan(clickableSpan, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置部分文字颜色
//0: 设置从哪个文字开始变色 5:设置到哪个文字结束变色
// Spanned.SPAN_EXCLUSIVE_EXCLUSIVE的四种方法可以直接百度其用法
ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.parseColor("#3fcefe"));
spannableString.setSpan(foregroundColorSpan, 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置点击事件,加上这句话才有效果
tvContent.setMovementMethod(LinkMovementMethod.getInstance());
//设置点击后的颜色为透明(有默认背景)
tvContent.setHighlightColor(getResources().getColor(R.color.transparent));
tvContent.setText(spannableString);