用于按下状态的TextView ClickableSpan样式

das*_*ony 15 android textview

我是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

Ema*_*lli 9

为了改变背景颜色我做了

testTextView.setHighlightColor(Color.BLUE);
Run Code Online (Sandbox Code Playgroud)

在TextView上.

但是有机会改变文字颜色对我来说会更好.