2010-07-19 10 views
0

我使用canvas.drawtext在我的自定義視圖中繪製文本。我需要改變背景顏色,並希望文字右對齊。例如我想打印10,10,100,20矩形的黃色和文本顏色紅色和右對齊的文本。我怎樣才能做到這一點 ?canvas.drawText問題

回答

2
public void onDraw(Canvas c) { 
    String text = "red right-aligned text"; 
    Paint paint = new Paint(); 
    paint.setStyle(Paint.Style.FILL_AND_STROKE); 

    int rectX = 10; 
    int rectY = 10; 
    int rectWidth = 100; 
    int rectHeight = 20; 
    float textWidth = paint.measureText(text); // measureText method of Paint 

    paint.setColor(Color.YELLOW); 
    c.drawRect(rectX, rectY, rectX + rectWidth, rectY + rectHeight, paint); 

    paint.setColor(Color.RED); 
    c.drawText(text, rectX + rectWidth - textWidth, rectY, paint); 
} 
+0

他要求就改變背景色的幫助。我認爲你的假設(「背景顏色已經是黃色」)在這種情況下並不好。 – 2010-07-19 06:16:22

+0

哎呀,是的,我的錯誤。我會改變我的迴應。 – 2010-07-19 09:27:57

0
gc.setBackground(...) 
gc.fillRectangle(...) 
gc.setForeground(...) 
gc.drawText(...) 
相關問題