在android中绘制文本的方法如下
drawText( String text, floatx, floaty, Paint paint)
其中floatx和floaty并不是表示为左上角左边 ,floatx表示字符串绘制的起始x坐标, floaty则是下图baseline位置坐标,而不是顶部坐标
下面给出计算baseline的方法
public int getBaseLine(int y, Paint mPaint) {
Paint.FontMetrics fontMetrics = mPaint.getFontMetrics();
floattop = fontMetrics.top;//为基线到字体上边框的距离,即上图中的top
floatbottom = fontMetrics.bottom;//为基线到字体下边框的距离,即上图中的bottom
return(int) (y + mPaint.getTextSize() /2- top /2- bottom /2);//基线中间点的y轴计算公式
}