我没有什么问题,我需要在点击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();
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我在文本视图中使用它的方式
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);
Run Code Online (Sandbox Code Playgroud)
有人知道如何在spannable对象上自定义"onclick highlight"吗?
编辑:感谢Aleadam的回复,我重写了updateDrawState(请看看我的InternalClickableSpan类中的第一个方法),但我无法找到一种方法来自定义这个higlight.有没有人有其他想法?谢谢