137 votes

Comment soulignez-vous un texte dans Android XML ?

Comment soulignez-vous un texte dans un fichier XML? Je ne trouve pas d'option dans textStyle.

0 votes

U avez essayé d'utiliser style="text-decoration: underline;"

1 votes

Pouvez-vous devriez en détail comment utiliser cela?

0 votes

Vous avez essayé ceci textView.setText(Html.fromHtml(""+"testest"+""));

207voto

Iced_Earth Points 456

Si vous utilisez un fichier de ressources de chaînes XML (prend en charge les balises HTML), vous pouvez le faire en utilisant , et .

        Ceci est un souligné.

Si vous voulez souligner quelque chose à partir du code utilisez :

TextView tv = (TextView) view.findViewById(R.id.tv);
SpannableString content = new SpannableString("Contenu");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
tv.setText(content);

10 votes

J'ai essayé ceci. la chaîne ne s'affiche pas soulignée?

6 votes

Je suis tombé sur des cas où le soulignement à l'aide des balises ne fonctionne pas, par exemple lorsque vous utilisez une police personnalisée. Cependant, le soulignement de manière programmée avec UnderlineSpan ne m'a jamais fait défaut, je le recommanderais donc comme la solution la plus fiable.

0 votes

Vous n'avez pas besoin de définir du texte en Java. Il suffit d'utiliser et <\u> en XML, et c'est suffisant.

69voto

abh22ishek Points 1297

Utilisez ceci :

TextView txt = (TextView) findViewById(R.id.Textview1);
txt.setPaintFlags(txt.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

0 votes

Sachez que cette solution souligne toujours l'ensemble du texte, il n'est donc pas possible de souligner seulement une partie. Pour cela, vous avez besoin de UnderlineSpan.

0 votes

Besoin d'aide pour écrire la deuxième ligne de cette réponse en Kotlin? Il renvoie une erreur de compilation au caractère |. Je ne connais pas la syntaxe pour inclure ce caractère.

27voto

Bhavin Points 2450
    Ceci est un souligné.

Si cela ne fonctionne pas alors

Ceci est un <u>souligné</u>.

Parce que "<" pourrait être un mot clé à un moment donné.

Et pour l'affichage

TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(getString(R.string.your_string_here)));

3 votes

Cela fonctionne...mais si pour une raison quelconque vous définissez le TextView pour utiliser l'attribut XML android:textAllCaps="true", le soulignement n'apparaîtra pas. Supprimez ce modificateur et le soulignement s'affichera comme prévu. Juste pour info :)

13voto

Nepster Points 893

Tout d'abord, allez dans le fichier String.xml

vous pouvez ajouter des attributs HTML comme, italique, gras ou souligné ici.

        Ceci est un souligné.

5voto

J'ai utilisé la méthode ci-dessous, ça a fonctionné pour moi. Voici un exemple pour un bouton mais on peut aussi l'utiliser dans un TextView.

Button btnClickMe = (Button) findViewById(R.id.btn_click_me);
btnClickMe.setPaintFlags(btnClickMe.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X