需要一些帮助才能理解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?它是以像素为单位的字符串宽度吗?
答案 0 :(得分:0)
是的,您的文字在屏幕上的长度将以像素为单位。
编辑:
是的,paint.breakText()
有助于根据参数中提供的最大宽度打破字符串。
但是,还必须使用setSubpixelText (true)
来说明包含 i 或 l(小L)或 w 的字符串,因为breaktext无法使用breakText()
确定断字符串的确切长度。
至少我遇到了这个问题,并使用setSubpixelText()
解决了问题。
希望这有帮助。