了解paint.measureText

时间:2013-01-11 14:20:39

标签: android

需要一些帮助才能理解android中的paint对象。我有一个名为myString的字符串对象。我在一个txt文件中加载了一些内容,我在资产下。 在我的代码中,当我执行myString.length()时,我得到一个16708的虚拟。

当我使用如下的paint对象获取长度时,我得到的值为211050

myTextView = (TextView)findViewById(R.id.my_text_view);
Paint paint = myTextView.getPaint();
float length = paint.measureText(myString, 0, myString.length());

我得到的长度值为211050。

现在我试图了解这些值是什么。 16708显然是我的字符串的总长度。什么是211050?它是以像素为单位的字符串宽度吗?

1 个答案:

答案 0 :(得分:0)

是的,您的文字在屏幕上的长度将以像素为单位。

编辑:

是的,paint.breakText()有助于根据参数中提供的最大宽度打破字符串。

但是,还必须使用setSubpixelText (true)来说明包含 i l(小L) w 的字符串,因为breaktext无法使用breakText()确定断字符串的确切长度。 至少我遇到了这个问题,并使用setSubpixelText()解决了问题。

希望这有帮助。