2009-09-28 5 views
1

J'essaie d'afficher du texte en italique dans un textview. J'utilise la méthode TypeFace.defaultFromstyle (TypeFace.ITALIC) mais cela ne fonctionne pas, le style du texte n'est pas mis en italique. Si j'appelle la méthode getStyle() sur le retour de defaultFromstyle(), elle renvoie 0. Une idée?android italic typeface

Répondre

20

Utilisez setTypeface(Typeface) à partir du code Java ou android:textStyle à partir de la présentation XML. Ils devraient faire l'affaire, si vous voulez que tout votre texte soit en italique.

Editer: Dans ce cas, je pense que votre police n'a pas de style italique, par défaut. À partir de la documentation de la méthode setTypeface(Typeface):

Définit la police et le style dans lesquels le texte doit être affiché. Notez que toutes les familles de polices n'ont pas de variantes en gras et en italique, vous devrez donc utiliser setTypeface(Typeface, int) pour obtenir l'apparence souhaitée.

Utilisez-vous une police personnalisée? Essayez

mTextView.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC), Typeface.ITALIC) 
+1

C'est exactement ce que je fais. Voici mon code: myTextView.setTypeface (TypeFace.defaultFromstyle (TypeFace.ITALIC)); mais cela ne fonctionne pas. Nb: si j'utilise TypeFace.BOLD, tout est OK. – Arutha

+0

Oui! Ca marche, mais je ne comprends pas pourquoi ... J'utilise une police personnalisée qui devrait avoir une variante en italique! – Arutha

1

De la documentation sur TextView ...

setTypeface public void (Typeface tf, style int) depuis: API Niveau 1

Définit la police de caractères et le style dans lequel le texte devrait s'affiche et active les faux bits en gras et en italique dans Paint si la police que vous avez fournie ne contient pas tous les bits du style que vous avez spécifié.

1

Cela devrait être tout:

textView.setTypeface(null, Typeface.BOLD_ITALIC); 
    textView.setTypeface(null, Typeface.BOLD); 
    textView.setTypeface(null, Typeface.ITALIC);