Android Center-Text auf Leinwand

Ich versuche, einen Text mit dem folgenden Code anzuzeigen. Das Problem ist, dass der Text nicht horizontal zentriert ist. Wenn ich die Koordinaten fürdrawTextsetzt es den unteren Rand des Textes an dieser Stelle. Ich möchte, dass der Text so gezeichnet wird, dass er auch horizontal zentriert ist.

Dies ist ein Bild, um mein Problem weiter anzuzeigen:

@Override
protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    //canvas.drawRGB(2, 2, 200);
    Paint textPaint = new Paint();
    textPaint.setARGB(200, 254, 0, 0);
    textPaint.setTextAlign(Align.CENTER);
    textPaint.setTypeface(font);
    textPaint.setTextSize(300);
    canvas.drawText("Hello", canvas.getWidth()/2, canvas.getHeight()/2  , textPaint);
}

Antworten auf die Frage(8)

Ihre Antwort auf die Frage