Comment souligner un texte dans un fichier XML? Je ne trouve pas d’option dans textStyle
.
Si vous utilisez un fichier XML de ressource de chaîne (prend en charge les balises HTML), vous pouvez le faire à l'aide de <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 dans le code, utilisez:
TextView tv = (TextView) view.findViewById(R.id.tv);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
tv.setText(content);
J'espère que cela t'aides
Utilisez ceci:
TextView txt = (TextView) findViewById(R.id.Textview1);
txt.setPaintFlags(txt.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
Si ça ne marche pas alors
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
Parce que "<" pourrait être un mot clé à un moment donné.
Et pour afficher
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(getString(R.string.your_string_here)));
Tout d'abord, allez dans le fichier String.xml
vous pouvez ajouter tous les attributs HTML tels que, italique, gras ou souligné ici.
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
Une autre façon de procéder consiste à créer un composant personnalisé prolongeant TextView. C'est utile dans les cas où vous devez avoir plusieurs TextViews soulignés.
Voici le code pour le composant:
package com.myapp.components;
import Android.content.Context;
import Android.support.v7.widget.AppCompatTextView;
import Android.text.SpannableString;
import Android.text.style.UnderlineSpan;
import Android.util.AttributeSet;
public class LinkTextView extends AppCompatTextView {
public LinkTextView(Context context) {
this(context, null);
}
public LinkTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setText(CharSequence text, BufferType type) {
SpannableString content = new SpannableString(text);
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
super.setText(content, type);
}
}
Et comment l'utiliser en XML:
<com.myapp.components.LinkTextView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:text="Hello World!" />
J'ai utilisé la méthode ci-dessous, c'est un travail pour moi. ci-dessous est un exemple pour Button, mais nous pouvons également utiliser TextView.
Button btnClickMe= (Button) findViewById(R.id.btn_click_me);
btnClickMe.setPaintFlags(btnClickMe.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
Vous pouvez utiliser le balisage ci-dessous, mais notez que si vous définissez textAllCaps
sur true
, l'effet de soulignement sera supprimé.
<resource>
<string name="my_string_value">I am <u>underlined</u>.</string>
</resources>
Remarque
Utilisation de textAllCaps avec une chaîne (login_change_settings) contenant du balisage; le balisage sera abandonné par la conversion des majuscules
La transformation de texte textAllCaps finira par appeler toString sur CharSequence, ce qui aura pour effet de supprimer tout balisage tel que. Cette vérification recherche les utilisations des chaînes contenant un balisage qui spécifie également textAllCaps = true.
Il existe différentes manières d'obtenir du texte souligné dans un Android TextView.
1 .<u>This is my underlined text</u>
ou
I just want to underline <u>this</u> Word
2.Vous pouvez faire la même chose par programme.
`textView.setPaintFlags(textView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);`
3.Il peut être fait en créant un SpannableString et en le définissant comme propriété textView
SpannableString text = new SpannableString("Voglio sottolineare solo questa parola");
text.setSpan(new UnderlineSpan(), 25, 6, 0);
textView.setText(text);
Pour compléter la réponse de Bhavin. Par exemple, pour ajouter un soulignement ou une redirection.
((TextView) findViewById(R.id.tv_cgu)).setText(Html.fromHtml(getString(R.string.upload_poi_CGU)));
<string name="upload_poi_CGU"><![CDATA[ J\'accepte les <a href="">conditions générales</a>]]></string>
et vous pouvez connaître la balise compatible ici: http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html