2012-06-03 79 views
3

我正在尝试使用画布绘制文本。我到处检查过,但这些例子相当复杂,我可以在画布上绘制文字,但不会显示像这张照片。在画布上绘制文本

enter image description here

我发现这个代码,它的工作,我只需要编写像上面的图像。

 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); 

回答

6

获取您想要的字体并将其添加到您的资产文件夹中。可以说字体文件名是“pretty.otf”。然后在你的代码中,你所要做的就是。

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); 

空间您的文字像图像中,加入\ n字符在字符串中像这样添加一个新行:

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

嗯,谢谢你它的工作,你是最棒的,但\ n不是在跟下一行交谈。 – Isuru

+0

这是因为你把它绘制在圆形路径上。绘制它没有路径,它应该工作得很好。 –