我是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);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望在处于按下状态时更改样式,或者用户触摸链接.(比如a:hover在css中)但是我无法找到一种获得当前状态的方法updateDrawState.
有办法处理这个吗?如果我无法更改文本样式,我希望至少能够更改背景颜色.
按注释编辑,您可以在按下时更改单个ClickableSpan的文本颜色,而不会影响同一TextView中的其他ClickableSpans
为了改变背景颜色我做了
testTextView.setHighlightColor(Color.BLUE);
Run Code Online (Sandbox Code Playgroud)
在TextView上.
但是有机会改变文字颜色对我来说会更好.
| 归档时间: |
|
| 查看次数: |
5478 次 |
| 最近记录: |