Comment souligner du texte dans TextView avec une certaine couleur différente de celle du texte?
Je sais comment souligner du texte dans un textview. Mais comment faire pour souligner un texte avec une certaine couleur différente ?
Soulignons peut être fait avec:
TextView t = (TextView) findViewById(R.id.textview);
t.setPaintFlags(t.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
t.setText("Underline Text");
Disons que mon textcolor est noir et je tiens à souligner la même chose avec la couleur bleue, comment faire ?
Merci à l'avance.
Je crains que vous avez besoin de deux textviews pour que!
Vous pouvez l'utiliser comme cet e-Mail.setText(Html.fromHtml("W : "+"<u><FONT COLOR=\"#80776b\" >"+Email1+"</font></u>")); Utilisez le code couleur de ce que vous voulez.
~Vipul'J, avez-vous surmonter ce problème?
Vous pouvez l'utiliser comme cet e-Mail.setText(Html.fromHtml("W : "+"<u><FONT COLOR=\"#80776b\" >"+Email1+"</font></u>")); Utilisez le code couleur de ce que vous voulez.
~Vipul'J, avez-vous surmonter ce problème?
OriginalL'auteur Vipul J | 2013-09-27
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème et je suis tombé sur Mise en page classe lors de la lecture de certains autres postes, pour ce faire sur
EditText
. Il fournit tout ce dont vous avez besoin pour ce faire manuellement en dessin souligner, avec de la toile.J'ai d'abord défini des attributs personnalisés pour une personnalisation facile en XML des fichiers de mise en
Et personnalisé
TextView
classePuis son utilisation est simple
Résultat Final
Je pense que vous avez un accident sur cette
UnderlinedTextView
classe, dans le cas où le texte est vide. Comme solution de contournement, je pense que c'est bien d'ajouter une case à propos du texte suronDraw
:if (text.isNullOrEmpty()) { super.onDraw(canvas) return }
OriginalL'auteur Bojan Kseneman
Vous pouvez essayer comme ci-dessous:
découvrez poste qui pourrait vous aider. stackoverflow.com/questions/13238298/...
OriginalL'auteur GrIsHu
Si vous êtes un XML du ventilateur. Jetez un oeil à ma solution:
Créer un sélecteur
selector_edittext_white.xml
dans le dossier drawableEnsuite, définissez votre EditText
Dans le paramètre ci-dessus, le soulignement de la couleur est blanc, et vous pouvez le déplacer en changeant
android:bottom
ci-dessus est "-15dp" . En cas de disparaître, d'essayer de régler votre EditText de la marge du bas, comme ceOriginalL'auteur windyzboy
Je ne peux pas ajouter un commentaire, de sorte que je suis en poste en tant que réponse à la place.
Je veux juste dire que Bojan Kseneman réponse (https://stackoverflow.com/a/30717100/2771087) est fantastique. Il y a un problème avec elle que j'aimerais corriger.
Plutôt que de trouver la position de fin du dernier caractère de la ligne, c'est l'accaparement de la fin de l'avant-dernier caractère, puis ajouter la largeur du premier caractère de la ligne. Ces deux lignes ici:
Au lieu de cela, getSecondaryHorizontal() peut être utilisé pour saisir le côté opposé du personnage, comme dans:
Toutefois, cela permettra également de souligner l'espace à la fin de chaque ligne de texte multi-ligne domaines. Donc, pour résoudre ce problème, utilisez le code suivant pour passer avant le calcul de x_stop:
OriginalL'auteur Jason Stubbs
Une autre solution, cette fois sans l'extension TextView (basée sur une question que j'ai écrit il y a longtemps, ici) :
Ont un drawable à être montré comme le soulignent, et ont une portée pour le texte lui-même :
text_underline.xml
DrawableSpan.kt
utilisation:
Et le résultat:
OriginalL'auteur android developer
La meilleure solution est avec l'aide de Html.
OriginalL'auteur N Kostic
faire une nouvelle couleur de peinture. et affecter la peinture à l'textview.
Ce n'est pas de travail!
vérifier mes mises à jour répondre
et dites-moi ce que u get/voir
Toujours pas de travail, "UNDERLINE_TEXT_FLAG" est un champ statique, de sorte qu'il n'a pas d'importance ce que " p " est.
OriginalL'auteur Ahmed Ekri