Ответ 1
Для изменения цвета фона я сделал
testTextView.setHighlightColor(Color.BLUE);
в 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);
}
}
Я хочу изменить стиль, когда он находится в нажатом состоянии, или пользователь касается ссылки. (например, a:hover
в css), но я не могу понять, как получить текущее состояние в updateDrawState
.
Есть ли способ справиться с этим? Если я не могу изменить стиль текста, я хочу, чтобы изменить цвет фона по крайней мере.
EDIT, как указано комментарием, вы можете найти ответ на Изменить цвет текста одного ClickableSpan при нажатии, не затрагивая другие ClickableSpans в том же TextView
Для изменения цвета фона я сделал
testTextView.setHighlightColor(Color.BLUE);
в TextView.
Но иметь возможность изменить цвет текста было бы лучше для меня.