我们在自定义View的时候时常会重写onDraw方法,那么在onDraw方法中,绘制文字有时候就用到了paint 的getTextBounds方法来确定文字的位置。而这个方法需要注意两点:
1.绘制文字的时候即drawText时
源码:
/**
* Draw the text, with origin at (x,y), using the specified paint. The
* origin is interpreted based on the Align setting in the paint.
*
* @param text The text to be drawn
* @param x The x-coordinate of the origin of the text being drawn
* @param y The y-coordinate of the baseline of the text being drawn
* @param paint The paint used for the text (e.g. color, size, style)
*/
public void drawText(@NonNull String text, float x, float y, @NonNull Paint paint) {
native_drawText(mNativeCanvasWrapper, text, 0, text.length(), x, y, paint.mBidiFlags,
paint.getNativeInstance(), paint.mNativeTypeface);
}
这里面的参数 y 是文字基线(baseline)的y坐标。
2.