我的代码是
Paint paint= new Paint();
paint.setTextSize(size);
int iRet = 0;
if (str != null && str.length() > 0) {
int len = str.length();
float[] widths = new float[len];
paint.getTextWidths(str, widths);
for (int j = 0; j < len; j++) {
iRet += (int) Math.ceil(widths[j]);
}
}
return iRet;
我想获取字符串的宽度,但返回结果在TextView中有错误。
不知道正确的方法。
感谢。
我在虚拟机中显示它。
答案 0 :(得分:2)
答案 1 :(得分:1)
你可以使用:
int width = paint.measureText("this text");
measureText(String text)将返回文本的宽度。
答案 2 :(得分:1)
你可以尝试使用画布,有一次我发现Textview无法以正确的大小显示我的文字,所以我使用Canvas绘制文本,我得到我想要的宽度,这可能是一些错误的原因dp,sp或px。
答案 3 :(得分:0)
你可以通过调用paint类的measureText()来测量它,这里是代码 -
Paint p=new paint();
int value = p.measureText("give input string to measure");