2012-06-03 4 views
3

J'essaye de dessiner du texte en utilisant du canvas. J'ai vérifié partout mais ces exemples assez complexes, j'ai pu dessiner du texte sur toile mais ça ne se voit pas comme sur cette photo.Dessin Texte sur toile

enter image description here

Je trouve ce code et cela fonctionne, j'ai juste besoin d'écrire comme image ci-dessus.

 Paint paint = new Paint(); 
     paint.setColor(Color.BLACK); 
     paint.setTextSize(30); 
     paint.setAntiAlias(true); 

     canvas.drawText("There are 137 days, 9 hours 4 minutes and 36 seconds", 150,150, paint); 

Répondre

6

Obtenez la police que vous souhaitez et ajoutez-la à votre dossier d'actifs. Disons que le nom du fichier de police est "pretty.otf". Ensuite, dans votre code, tout ce que vous avez à faire est.

Paint paint = new Paint(); 
paint.setColor(Color.BLACK); 
paint.setTextSize(30); 
paint.setAntiAlias(true); 

Context mContext = getContext(); 
Typeface myTypeface = Typeface.createFromAssets(mContext.getAssets(), "pretty.otf"); 

paint.setTypeface(myTypeface); 

Pour l'espace de votre texte comme dans l'image, ajouter une nouvelle ligne en ajoutant le caractère \ n dans votre chaîne comme ceci:

canvas.drawTextOnPath("There are\n137 days, 9 Hour\n4 Minutes and 36 seconds\nuntil Christmas", circle, 0,30,paint); 
+0

Eh bien, je vous remercie cela fonctionne, vous êtes le meilleur, mais \ n ne parle pas à la ligne suivante. – Isuru

+0

C'est parce que vous l'avez dessiné sur le chemin du cercle. Dessinez-le sans le chemin et cela devrait fonctionner correctement. –