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
。
これを処理する方法はありますか?テキストのスタイルを変更できない場合は、少なくとも背景色を変更できるようにしたいと思います。
コメントで示されているように編集すると、同じTextView内の他のClickableSpansに影響を与えずに、押したときに1つのClickableSpanのテキストの色を変更するで答えを見つけることができます。