android draw text at canvas

最近在定制一个画文字的控件,想把文字画到指定的点。开始始终会有几个像素的偏差。

经过研究找到了几个在调用画布来画文字的时候需要注意的地方:

1.文字大小的Rectangular区域需要用 Paint的getTextBounds来获取;

如果用 mFontMetrics.top 和 mFontMetrics.bottom的绝对值相加获得的高度是包含的空白padding部分的。

2.对于mPaint.setTextAlign(Align.CENTER) 这种对齐方式:

文字(英文)的TOP点的计算:(textoutlineheight + textHeight )/2

3。对于中文需要往上面偏移bottom区域。

猜你喜欢

转载自jonson.iteye.com/blog/1812664