我使用以下代码计算字符串的宽度,但宽度的结果与TextView中显示的宽度有很大不同。我怎样才能正确地做到这一点?谢谢你的建议。
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;
答案 0 :(得分:5)
我认为尝试使用此代码作为字符串的宽度
float width = paint.measureText(string);
答案 1 :(得分:4)
试试这段代码,希望能帮到你..
Paint paint= new Paint();
paint.setTextSize(size);
int txtWidth = (int)(paint.measureText("Hello how are you?"));