2013-07-26 3 views
12

Dans mon application, je dessine du texte sur Android Canvas;Comment dessiner du texte en italique sur une toile Android?

Maintenant pour soutenir underline et bold Je prends l'aide d'objet de peinture;

Paint paint = new Paint(); 

paint.setUnderlineText(true); 
paint.setFakeBoldText(true); 

paint.setColor(color); 
paint.setTextSize (font_size); 
canvas_obj.drawText(text,x,y,paint); 

Avec ce code je reçois du texte en gras et souligné;

J'aime aussi faire italic,

Je développe l'application pour Android 2.2 partir.

comment le faire?

Edit:

Je suis en train objet Typeface créé avec un fichier de police externe pour soutenir la police externe; Pour Italique J'utilise le code suivant

paint.setTypeface(Typeface.create(external_font_type_face,Typeface.ITALIC)); 

Cela ne fonctionnait pas, Testé sur Samsung Galaxy Ace (android 2.2)

Répondre

22

Vous pouvez utiliser cette méthode:

paint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC)); 

Il travaille pour moi .

+0

J'utilise déjà un objet Typeface (créé avec un fichier de police externe,) dans la peinture; Je développe l'application pour android 2.2 à partir de –

+0

@Swarnendu Typeface a été mis en œuvre dans Android 1.5 – TN888

+0

@ Ty221 Malheureusement, il ne fonctionne pas, la définition de caractères à l'objet de peinture remplace l'objet typrface précédemment défini à l'objet de peinture (qui a été configuré pour soutenir la police externe) donc ni je reçois le support de police externe ni le texte en italique avec la police par défaut .. :-( –

0

Utilisez ceci:

paint.setTextSkewX(-0.25f); 
+1

Alors que cet extrait de code peut résoudre la question, [y compris une explication ] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) contribue vraiment à améliorer la qualité de votre message. N'oubliez pas que vous répondez à la question pour les lecteurs à l'avenir, et ces personnes pourraient ne pas connaître les raisons de votre suggestion de code. – Isma

Questions connexes