理解:x:要绘制文本的x坐标,y:baseline
1.首先调整字符的坐标系为中心,
paintUnselectWeekText.setTextAlign(Paint.Align.CENTER);
2.将字符的中心与要绘制的地方的中心对其,那么文字就居中了
canvas.drawText("the text", widthToPlace /2, getPaddingTop() + textHeight, paint)
FontMetricsInt fontMetrics = paint.getFontMetricsInt(); int baseline = targetRect.top + (targetRect.bottom - targetRect.top - fontMetrics.bottom + fontMetrics.top) / 2 - fontMetrics.top; paint.setTextAlign(Paint.Align.CENTER); canvas.drawText(testString, targetRect.centerX(), baseline, paint);