2012-06-03 123 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

這是因爲你把它繪製在圓形路徑上。繪製它沒有路徑,它應該工作得很好。 –