直接贴使用方法,直接搬走即可用:
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);
本文介绍如何在Android应用中利用SpannableString对TextView中的特定文本进行高亮显示并添加点击事件。通过创建SpannableStringBuilder实例,设置ForegroundColorSpan改变文本颜色,使用ClickableSpan实现文本片段的点击响应。文中详细展示了如何设置Span的起始和结束位置,以及如何使TextView支持链接点击。
1620

被折叠的 条评论
为什么被折叠?



