Android clickSpan去掉点击颜色实现教程
一、整体流程
首先我们来看一下整个实现的流程,可以用表格展示出来:
步骤 | 操作 |
---|---|
1 | 创建一个自定义的ClickableSpan |
2 | 重写updateDrawState方法 |
3 | 设置ClickableSpan的背景颜色为透明 |
二、详细步骤及代码
步骤一:创建一个自定义的ClickableSpan
首先需要创建一个自定义的ClickableSpan,代码如下:
public class NoUnderlineClickableSpan extends ClickableSpan {
@Override
public void onClick(View widget) {
// do something when the span is clicked
}
}
步骤二:重写updateDrawState方法
接下来在自定义的ClickableSpan中重写updateDrawState方法,代码如下:
@Override
public void updateDrawState(TextPaint ds) {
// super.updateDrawState(ds);
ds.setUnderlineText(false); // 去掉下划线
}
步骤三:设置ClickableSpan的背景颜色为透明
最后,在使用ClickableSpan的地方设置其背景颜色为透明即可,代码如下:
NoUnderlineClickableSpan clickableSpan = new NoUnderlineClickableSpan();
SpannableString spannableString = new SpannableString("Click here");
spannableString.setSpan(clickableSpan, 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
textView.setMovementMethod(LinkMovementMethod.getInstance());
三、类图
classDiagram
class NoUnderlineClickableSpan {
updateDrawState()
onClick()
}
四、饼状图
pie
title ClickableSpan实现
"创建ClickableSpan" : 33.3
"重写updateDrawState方法" : 33.3
"设置背景颜色为透明" : 33.3
通过以上步骤,你就可以实现Android中点击ClickableSpan去掉点击颜色的效果了。希望对你有所帮助!