Android Paint:.measureText()与.getTextBounds()
我正在使用来测量文本Paint.getTextBounds(),因为我有兴趣获取要渲染的文本的高度和宽度。但是,实际呈现的文本始终比填充.width()的Rect信息的宽度稍宽getTextBounds()。 令我惊讶的是,我测试了.measureText(),发现它返回了一个不同的值(更高)。我尝试了一下,发现它是正确的。 他们为什么报告不同的宽度?如何正确获取高度和宽度?我的意思是,我可以使用.measureText(),但是我不知道是否应该信任.height()返回的getTextBounds()。 根据要求,以下是用于重现此问题的最少代码: final String someText = "Hello. I believe I'm some text!"; Paint p = new Paint(); Rect bounds = new Rect(); for (float f = 10; f < 40; f += 1f) { p.setTextSize(f); p.getTextBounds(someText, 0, someText.length(), bounds); Log.d("Test", String.format( "Size %f, measureText %f, getTextBounds %d", f, …