SpannableString取消点击时背景高亮
时间: 2023-07-05 18:17:17 浏览: 49
要取消SpannableString点击时的背景高亮,你可以使用ClickableSpan并在其onClick()方法中使用setSelection()方法来移除背景高亮。
具体来说,你可以创建一个继承自ClickableSpan的类,然后在onClick()方法中移除背景高亮。示例代码如下:
```
class MyClickableSpan extends ClickableSpan {
@Override
public void onClick(View widget) {
// Do something when the span is clicked
}
@Override
public void updateDrawState(TextPaint ds) {
// Remove the background highlight
ds.bgColor = Color.TRANSPARENT;
}
}
```
然后你可以将这个ClickableSpan应用到你的SpannableString中。示例代码如下:
```
SpannableString spannableString = new SpannableString("Clickable text");
MyClickableSpan clickableSpan = new MyClickableSpan();
spannableString.setSpan(clickableSpan, 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
```
这样就可以取消SpannableString点击时的背景高亮了。