起因:
使用paint.getTextBounds()方法可以获取到文字的宽高,高度正确,但是得到的宽度不精准。
分析过程:
百度看到别人也有遇到这个问题Android Paint: .measureText() vs .getTextBounds()
于是将getTextBounds方法替换成measureText来测量文字的宽度。
原因:
To answer your question: Both your calls do same computation. Possible difference of result lies in fact that getTextBounds returns bounds as integer, while measureText returns float value.
翻译:你的两个调用做相同的计算。结果的可能差异在于getTextBounds返回作为整数的边界,而measureText返回浮点值。