一、文字的绘制机制
文字绘制机制是基于文字的baseline绘制的,baseline又是什么,看下图
所以 下面这种方式,文字是看不见的,因为baseline的坐标是0
canvas.drawText("李国菁",0,0,paint);
二、设置文字对齐方式
第一种方式设置水平居中
paint.setTextAlign(Paint.Align.CENTER);
第二种方式设置水平居中
// 第二中方式计算,X 轴居中
float width = paint.measureText(mText);
canvas.drawText("享学课堂",getWidth()/2-width/2,baseLine,paint);
垂直居中的代码如下:
int baseLine = getHeight()/2;
// 文字高度的计算 top + bottom
Paint.FontMetrics fontMetrics = paint.getFontMetrics();
// Top 和 bottom 无论什么文字都不能超过,这个界限,ascent 和 descent 是正常文字的上界和下界
// public float top;
// public float ascent;
// public float descent;
// public float bottom;
// public float baseline;
// 记住就行,