Androidペイント:.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, …