android drawtext 之baseline

在android中绘制文本的方法如下

 drawText( String text,   floatx,  floaty,  Paint paint)

其中floatx和floaty并不是表示为左上角左边 ,floatx表示字符串绘制的起始x坐标, floaty则是下图baseline位置坐标,而不是顶部坐标

android drawtext 之baseline_第1张图片

下面给出计算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轴计算公式

}

你可能感兴趣的:(android drawtext 之baseline)