Question Puis-je souligner le texte dans une mise en page Android?


Comment puis-je définir souligné texte dans une mise en page Android xml fichier?


532
2018-03-07 02:26


origine


Réponses:


Cela peut être réalisé si vous utilisez un ressource de chaîne fichier XML, qui prend en charge les balises HTML comme <b></b>, <i></i> et <u></u>.

<resources>
    <string name="your_string_here">This is an <u>underline</u>.</string>
</resources>

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

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

916
2018-03-07 02:29



Vous pouvez essayer avec

textview.setPaintFlags(textview.getPaintFlags() |   Paint.UNDERLINE_TEXT_FLAG);

436
2018-06-08 10:44



La réponse "acceptée" ci-dessus NE PAS travail (lorsque vous essayez d'utiliser la chaîne comme textView.setText(Html.fromHtml(String.format(getString(...), ...))).

Comme indiqué dans le documentations vous devez échapper (html entity encoded) en ouvrant le support des tags internes avec &lt;, par exemple. le résultat devrait ressembler à:

<resource>
    <string name="your_string_here">This is an &lt;u>underline&lt;/u>.</string>
</resources>

Ensuite, dans votre code, vous pouvez définir le texte avec:

TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(String.format(getString(R.string.my_string), ...)));

53
2018-03-31 10:22



Une solution en ligne:

textview.setPaintFlags(textview.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

47
2017-10-01 11:11



Contenu du fichier Strings.xml:

<resource>
     <string name="my_text">This is an <u>underline</u>.</string> 
</resources> 

Layout fichier xml shold utiliser la ressource de chaîne ci-dessus avec les propriétés ci-dessous de textview, comme indiqué ci-dessous:

<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:text="@string/my_text"

    android:selectAllOnFocus="false"
    android:linksClickable="false"
    android:autoLink="all"
    />

39
2018-04-11 06:04



Pour Button et TextView c'est le moyen le plus simple:

Bouton:

button = (Button) view.findViewById(R.id.btton1);
button.setPaintFlags(button.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

Affichage:

textView = (Textview) view.findViewById(R.id.textview1);
textView.setPaintFlags(textView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

24
2017-09-04 08:41



Une solution en ligne

myTextView.setText(Html.fromHtml("<p><u>I am Underlined text</u></p>"));

C'est un peu tard mais ça pourrait être utile pour quelqu'un.


17
2018-03-17 05:46