我将 ClickableSpan 子类化以自定义 TextView 中链接的文本样式。
private static class LinkSpan extends ClickableSpan {
@Override
public void onClick(View widget) {
// code...
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
ds.setTypeface(Typeface.create(ds.getTypeface(), Typeface.BOLD));
ds.setColor(0xff336699);
}
}
我想在它处于按下状态或用户触摸链接时更改样式。(就像a:hover
在 css 中一样)但我想不出一种方法来获取当前状态updateDrawState
。
有没有办法处理这个?如果我不能更改文本样式,我希望至少能够更改背景颜色。
正如评论所指出的那样编辑,您可以在按下时更改单个 ClickableSpan 的文本颜色而不影响同一 TextView 中的其他 ClickableSpan 中找到答案