15

我将 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 中找到答案

4

1 回答 1

9

为了改变背景颜色,我做了

testTextView.setHighlightColor(Color.BLUE);

在文本视图上。

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

于 2012-09-11T08:42:48.817 回答