使文字居中:
水平居中:
Paint.setTextAlign(Paint.Align.CENTER);
垂直居中:
float fontHeight=textPaint.getFontMetrics().bottom-textPaint.getFontMetrics().top;
canvas.drawText("hello world", rX , rY+fontHeight/2-textPaint.getFontMetrics().descent, textPaint);
获取text宽度
private float getTextWidth(Paint p,String string)
{
float width=0;
float[] widths=new float[string.length()];
p.getTextWidths(string,0,string.length(),widths);
for(int i=0;i<string.length();i++)
{
width+=widths[i];
}
return width;
}
获取text高度
float fontHeight=textPaint.getFontMetrics().bottom-textPaint.getFontMetrics().top;//稍稍大于文字宽度