Aller au contenu

TextView, background qui "suit" le texte (surlignage)


Pierre87

Recommended Posts

Salut!

Je cherche à afficher un texte ayant un fond coloré qui "suit" le texte.

Je ne peux pas utiliser le "background" normal, car celui ci est affiché sur la totalité de l'espace occupé par la TextView (un gros rectangle, si le texte est sur plusieurs lignes).

En gros, je veux pouvoir surligner le texte.

Auriez vous une idée/piste?

Merci!

Lien vers le commentaire
Partager sur d’autres sites

Peut être te diriger vers un Canvas/Paint

Je sais pas a fond comment ca marche mais personnellement cela m'avait bien servie pour écrire sur une progressBar qui évolue.

J'ai trouver ca : ici

Donc peut être synchroniser un draw text et un draw background ...

Jok

Note : Tu as deux fois le même sujet ouvert ^^

Lien vers le commentaire
Partager sur d’autres sites

Autre idée :

Un textview pattern avec minWidth="1dp" ou qqch du genre pour n'afficher qu'un caractère.

Ensuite tu bornes maxLine à 1.

Le background en 9.png qui s'étend ou sur keyevent surligner la lettre avec un canevas paint ?

Dans le code, sur changement de ligne tu rajoutes un nouveau textView du même pattern (inflate + ajout à la vue courante vertical)

Non ?

Jok

Lien vers le commentaire
Partager sur d’autres sites

1 textView par ligne effectivement :( (c'est pour éviter le pâté coloré pour 9.png).

Enfin ce n'était qu'une idée.

Pour le canevas de couleur qui color le caractère je ne sais pas trop comment ca fonctionne mais par contre du coup pas besoin de multiplié les textviews

Bon courage en tout cas

Lien vers le commentaire
Partager sur d’autres sites

j'ai réussi :

Spannable spannable = new SpannableString("aaaaaaaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaa aaaaaaa");

BackgroundColorSpan span = new BackgroundColorSpan(Color.RED);

spannable.setSpan(span, 0, spannable.length(), 0);

textView.setText(spannable);

très chiant à l'utilisation >.<

Lien vers le commentaire
Partager sur d’autres sites

Pour les curieux, voilà le principe:

- On peut lier à une TextView un Spannable (texte formaté), vois Spanned aussi

- On peut construire un Spannable de plein de façon: SpannableString (statique), SpannableStringBuilder (non statique) ou Html.fromHtml (avec un peu de HTML)

- Il est possible d'appliquer des Span (formatage) sur un Spannable à l'aide de la méthode setSpan() (voir aussi les flags de Spanned)

- Un Span est un objet des classes CharacterStyle ou ParagraphStyle (il y en a d'autres), je vous conseille de jeter un oeil à leurs classes "filles"

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...