先上一张图

Leading 是对那些顶部有特殊符号的才有意义 比如 拼音声调 其他的默认是0
对于数字来说 是没有这个特殊符号的 所以数字的Leading 就是 0
对于数字来说 都是这种样式

底部的Descent 是空白的
less
canvas.drawText(9+"g",x,y,paint);
绘制数字 指定的 y 是baseLine的位置
所以想绘制数字到某个坐标 比如文字左上角是 a,b 那么 y应该设置为 数字的高度 + b ,x 设置为a
还有一个小问题 比如想让 数字以横坐标 x 为中心点。计算数字的起始点 一般是
js
x - 数字宽度 / 2
这个数字宽度有两种算法
js
float measureWith = paint.measureText(""+index);
或者
Rect drawTextRect = new Rect();
paint.getTextBounds(index+"", 0, (index+"").length(), drawTextRect);
两种都没有问题 区别就是 measureText 获取的值大一点 肯能考虑了字形啥的 所以 用measureText 看起来也更居中一点。