J'ai un petit problème, j'ai besoin de supprimer ou de personnaliser cette surbrillance orange en cliquant sur clickablespan. Ceci est ma classe extension ClickableSpanMettez en surbrillance clickablespan cliquez sur
public class InternalClickableSpan extends ClickableSpan {
private String clicked;
@Override
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false);
}
public InternalClickableSpan(String clickedString) {
clicked = clickedString;
}
@Override
public void onClick(View view) {
Selection.setSelection((Spannable) ((TextView)view).getText(), 0);
Toast toast = Toast.makeText(mContext, clicked, Toast.LENGTH_SHORT);
toast.show();
}
}
et voici comment je l'utilise sur la vue texte
Spannable spans = (Spannable) tv.getText();
spans.setSpan(new InternalClickableSpan(contacts[i]), text.indexOf(contacts[i]), text.indexOf(contacts[i])+contacts[i].length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Quelqu'un sait-il comment personnaliser « onclick highlight » sur l'objet spannable?
edit: Merci Aleadam pour sa réponse, je suis en train de surcharger updateDrawState (jetez un oeil à la première méthode dans ma classe InternalClickableSpan), mais je ne peux pas trouver un moyen de personnaliser ce higlight quand même. Est-ce que quelqu'un a d'autres idées? Merci
Essayez impérieuses updateDrawState()? http://developer.android.com/reference/android/text/style/ClickableSpan.html#updateDrawState%28android.text.TextPaint%29 – Aleadam
@Aleadam merci pour la réponse, je suis surcharger updateDrawState (s'il vous plaît jeter un oeil à la première méthode dans ma classe InternalClickableSpan), mais je ne peux pas trouver un moyen de personnaliser cette higlight de toute façon. Est-ce que quelqu'un a d'autres idées? Merci – Robert
Pensez que je l'ai eu, pour désactiver higlight nous devons définir la méthode setHighlightColor (Color.TRANSPARENT) sur TextView – Robert