Pour dessiner un trait de Soulignement au-dessous de la TextView Android
Je veux attirer l'souligner en dessous de mon TextView
. J'ai cherché un peu de contenu, mais ne pouvait pas trouver quelque chose de fécond.
Quelqu'un peut s'il vous plaît aidez-moi à sortir d'ici?
Vous devez vous connecter pour publier un commentaire.
Il y a trois façons de sous-fifre le texte dans TextView.
SpannableString
setPaintFlags(); de TextView
Html.fromHtml();
Permettez-moi de vous expliquer toutes les approches :
1ère Approche
De sous-fifre le texte dans TextView vous devez utiliser SpannableString
2ème Approche
Vous pouvez faire usage de setPaintFlags méthode de TextView souligner le texte de TextView.
Pour eg.
Vous pouvez consulter les constantes de Peinture classe si vous souhaitez grève à travers le texte.
3ème Approche
Faire usage de
Html.fromHtml(htmlString);
OU
Html.fromHtml("<u>This text will be underlined</u>")
, mais je dois admettre que je suis un gros fan de l'utilisation de SpannableStrings. @Kartik: Vous pourriez aussi bien utiliser unStrikethroughSpan
sur le texte pour créer barré effet. 🙂placez juste votre texte avec des < u > balise dans votre string.xml fichier de ressources
et dans votre Activité/Fragment
textView.setText(getString(R.string.text))
< erreur. Droit:textView.setText(getText(R.string.text))
ou tout simplementtextView.setText(R.string.text)
. La raison beind ce quegetText()
retourneSpannable
à souligner les travées, mais si vous utilisezgetString()
il vous permet de convertir lesSpannable
àString
qui en résulte s'étend sur de les retirer.Sa fonctionne pour moi.
Pour quiconque cherche toujours à ce querstion. C'est pour un lien hypertexte, mais vous pouvez le modifier pour juste une plaine souligner:
Créer un drawable (hyperlink_underline.xml):
Créer un nouveau style:
Ensuite utiliser ce style sur votre TextView:
Simple et durable solution est de créer une couche de liste et de faire que le fond de votre TextView:
Si votre TextView largeur fixe, solution alternative peut être de créer une Vue qui ressemble à un trait de soulignement et de se positionner juste en dessous de votre TextView.