如何计算字符串的宽度

时间:2012-11-01 06:17:42

标签: android

  

可能重复:
  How to get string width on Android?

我使用以下代码计算字符串的宽度,但宽度的结果与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;

2 个答案:

答案 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?"));