Android TextView可点击span设置按下状态的样式
我正在对ClickableSpan进行子类化,以自定义TextView中链接的文本样式Android TextView可点击span设置按下状态的样式,android,textview,Android,Textview,我正在对ClickableSpan进行子类化,以自定义TextView中链接的文本样式 private static class LinkSpan extends ClickableSpan { @Override public void onClick(View widget) { // code... } @Override public void updateDrawState(TextPaint ds) { su
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);
}
}
我想在按下或用户触摸链接时更改样式。(就像css中的a:hover
),但我想不出一种方法来获取updateDrawState
中的当前状态
有什么办法处理这个问题吗?如果我不能更改文本样式,我希望至少能够更改背景颜色
编辑正如一条评论所指出的,你可以在找到我更改背景颜色的答案
testTextView.setHighlightColor(Color.BLUE);
在文本视图上
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);
}
}
但是有机会更改文本颜色对我来说更好。你找到答案了吗?你最终是怎么做到的?不管这对谁有帮助,看看这不是我问的,但我接受了这个答案,因为这是唯一的答案。真正的解决办法是下次不要害羞地在实际答案中发布链接,并将其标记为正确。它将通过使答案更直观来帮助其他人。这解决了我的问题,谢谢!:)@dasony如果这不是答案,那么将其标记为这样是没有意义的。我想,如果你不想发布自己的链接答案,编辑你的问题,让人们指向那个链接,对你来说会更有帮助。