2013-07-26 31 views
12

Nella mia app sto disegnando il testo su Android Canvas;Come disegnare il testo in corsivo su tela Android?

Ora per supportare underline e bold Sto prendendo l'aiuto di oggetto pittura;

Paint paint = new Paint(); 

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

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

Con questo codice sto ottenendo il testo in grassetto e sottolineato;

Mi piace anche per renderlo italic,

sto sviluppando app per Android 2.2 in poi.

come si fa?

Edit:

io pongo oggetto Carattere tipografico creato con un file font esterno a supporto font esterno; Per Corsivo Sto usando seguente codice

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

Anche questo non funziona, Testato su Samsung Galaxy Ace (Android 2.2)

risposta

22

È possibile utilizzare questo metodo:

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

E 'di lavoro per me .

+0

Sono già usando un oggetto Carattere tipografico (creata con un file font esterno,) in vernice; Sto sviluppando l'app per Android 2.2 in poi –

+0

@Swarnendu Il carattere è stato implementato in Android 1.5 – TN888

+0

@ Ty221 Sfortunatamente non funziona, l'impostazione del carattere per dipingere oggetto sta sostituendo l'oggetto typrface precedentemente impostato sull'oggetto paint (che era impostato per supportare il font esterno); quindi né sto ottenendo il supporto di font esterni né il testo in corsivo con il font predefinito .. :-( –

0

Utilizzare questa:

paint.setTextSkewX(-0.25f); 
+1

Mentre questo frammento di codice può risolvere la domanda, [inclusa una spiegazione ] (http://meta.stackexchange.com/questions/114762/explaining-intlely-code-based-answers) aiuta davvero a migliorare la qualità del tuo post. Ricorda che stai rispondendo alla domanda per i lettori in futuro, e queste persone potrebbero non conoscere le ragioni del tuo suggerimento sul codice. – Isma