我有一个小问题,需要在点击ClickableSpan时删除或自定义这个橙色的高亮显示。以下是我扩展了ClickableSpan的类:
public class InternalClickableSpan extends ClickableSpan {
private String clicked;
@Override
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false);
}
public InternalClickableSpan(String clickedString) {
clicked = clickedString;
}
@Override
public void onClick(View view) {
Selection.setSelection((Spannable) ((TextView)view).getText(), 0);
Toast toast = Toast.makeText(mContext, clicked, Toast.LENGTH_SHORT);
toast.show();
}
}
这是我在文本视图中使用它的方式
Spannable spans = (Spannable) tv.getText();
spans.setSpan(new InternalClickableSpan(contacts[i]), text.indexOf(contacts[i]), text.indexOf(contacts[i])+contacts[i].length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
有人知道如何自定义Spannable对象的"onclick高亮"吗?
编辑:感谢Aleadam的回复,我重写了updateDrawState(请查看我的InternalClickableSpan类中的第一个方法),但是我无法找到任何自定义此高亮的方法。还有其他想法吗?谢谢