Je veux mettre TextView
le contenu d'un en gras, en italique et souligné. J'ai essayé le code suivant et cela fonctionne, mais ne le souligne pas.
<Textview android:textStyle="bold|italic" ..
Comment fait-on ça? Des idées rapides?
android
textview
text-styling
d-man
la source
la source
tv.setTypeface(null, Typeface.BOLD_ITALIC);
Réponses:
Je ne connais pas le soulignement, mais pour le gras et l'italique il y en a
"bolditalic"
. Il n'y a aucune mention de soulignement ici: http://developer.android.com/reference/android/widget/TextView.html#attr_android:textStyleRappelez-vous que pour utiliser ce dont
bolditalic
vous avez besoin, je cite cette pagedonc vous utiliseriez
bold|italic
Vous pouvez vérifier cette question pour souligner: Puis-je souligner du texte dans une mise en page Android?
la source
textView.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);
Cela devrait rendre votre TextView gras , souligné et italique en même temps.
strings.xml
Pour définir cette chaîne sur votre TextView, faites-le dans votre fichier main.xml
ou en JAVA ,
Parfois, l'approche ci-dessus ne sera pas utile lorsque vous devrez peut-être utiliser du texte dynamique. Donc, dans ce cas, SpannableString entre en action.
PRODUCTION
la source
new StyleSpan(Typeface.BOLD_ITALIC)
Ou tout simplement comme ça dans Kotlin:
Ou en Java:
Restez simple et en une seule ligne :)
la source
paintFlags
nécessaire? Ça marche sans çaPour le gras et l'italique, tout ce que vous faites est correct pour le soulignement, utilisez le code suivant
HelloAndroid.java
main.xml
string.xml
la source
underline
valeur Null du pass au lieu de lanew UnderlineSpan()
suivantecontent.setSpan(null, 0, content.length(), 0);
C'est un moyen simple d'ajouter un soulignement, tout en conservant d'autres paramètres:
la source
Programmation:
Vous pouvez faire par programmation en utilisant la méthode setTypeface ():
Voici le code de la police par défaut
et si vous souhaitez définir une police de caractères personnalisée:
XML:
Vous pouvez définir directement dans un fichier XML comme:
la source
Si vous lisez ce texte à partir d'un fichier ou du réseau.
Vous pouvez y parvenir en ajoutant des balises HTML à votre texte comme mentionné
puis vous pouvez utiliser la classe HTML qui traite les chaînes HTML en texte stylisé affichable.
la source
Sans guillemets, ça marche pour moi:
la source
la source
Une seule ligne de code en xml
la source
Vous pouvez y parvenir facilement en utilisant Kotlin
buildSpannedString{}
sous sacore-ktx
dépendance.la source