paint.getTextBounds(text, 0, text.length, textBounds)
...
canvas.drawText(text, canvas.width/2F - textBounds.exactCenterX(), canvas.height/2F - textBounds.exactCenterY(), paint)
我正在使用getTextBounds()
将文本置于圆形图形的中心。虽然使用系统的默认字体(左截屏)看起来不错,但是当我更改系统字体(右截屏)时,文本滑动到圆圈中心的左侧:
103
和234
对我来说尤其糟糕。我选择的字体是Samsung Galaxy S7上的Choco Cooky
。
我在标题行的代码后面放了一个调试打印,发现无论选择哪种字体,它都返回相同的边界,因为Choco Cooky
的字母较小,这可以解释结果。但是,这种行为对我来说似乎是个错误。
我该怎么做才能准确测量出尊重系统字体的文本范围?
答案 0 :(得分:0)
一种方法可能是使用以TextView
为背景的ShapeDrawable
作为背景,然后获取converted into a Bitmap,以便可以将其用作Google Maps标记。但是,这听起来像是很多重写,但没有任何保证可以解决该问题。