jjzjj

getTextBounds

全部标签

android - 使用 Canvas.drawText() 时如何知道文本的大小

我正在使用Canvas.drawText()在自定义View上书写文本。我想在文本后面添加一个背景9-patchdrawable,所以我需要知道所绘制文本的边界。文本由用户提供,因此它不是固定大小。现在我使用的是等宽字体,我设法构建了一个看起来还不错的字体,但在手上我宁愿使用另一种字体。 最佳答案 您可以使用Paint的publicvoidgetTextBounds(Stringtext,intstart,intend,Rectbounds)方法来获取包含所有文本的矩形。看看getTextBounds.希望这对您有所帮助!

java - 如何使用Paint.getTextBounds()快速获取TextView的宽高?

Paint类中有一个方法:Paint.getTextBounds()它返回被一些文本占用的Rect。但是根据this回答它返回的内容与TextView的宽度/高度不同。问题1:有没有办法使用Paint.getTextBounds()返回的Rect获取TextView的宽度和高度??请注意,我确实需要准确知道宽度/高度。我很高兴知道rect的上限可能有2-3%的误差,但它不能更大(并且应该适用于任何不依赖于屏幕分辨率和像素密度的手机)然后TextView边界Q2:是否有任何其他快速方法来确定具有指定textSize的某些文本的宽度和高度?我知道,宽度可以由Paint.measureTex

Android Paint : . measureText() 与 .getTextBounds()

我正在使用Paint.getTextBounds()测量文本,因为我对获取要呈现的文本的高度和宽度感兴趣。但是,实际呈现的文本总是比.width()宽一点。的RectgetTextBounds()填写的信息.令我惊讶的是,我测试了.measureText(),并发现它返回一个不同的(更高的)值。我试了一下,发现是对的。为什么他们报告不同的宽度?如何正确获取高度和宽度?我的意思是,我可以使用.measureText(),但是我不知道我是否应该信任.height()由getTextBounds()返回.根据要求,这里是重现问题的最少代码:finalStringsomeText="Hello

Android Paint : . measureText() 与 .getTextBounds()

我正在使用Paint.getTextBounds()测量文本,因为我对获取要呈现的文本的高度和宽度感兴趣。但是,实际呈现的文本总是比.width()宽一点。的RectgetTextBounds()填写的信息.令我惊讶的是,我测试了.measureText(),并发现它返回一个不同的(更高的)值。我试了一下,发现是对的。为什么他们报告不同的宽度?如何正确获取高度和宽度?我的意思是,我可以使用.measureText(),但是我不知道我是否应该信任.height()由getTextBounds()返回.根据要求,这里是重现问题的最少代码:finalStringsomeText="Hello