getTextWidths方法给出了错误的结果

时间:2013-10-11 14:00:42

标签: android textview paint html

某些Paint类方法存在问题。我应该得到给TextView的跨越字符串的宽度。假设我在第一行测量文本。当我以编程方式测量时,它会提供 286 ,但屏幕的宽度 240 ?也许有人有这样的问题?任何帮助将不胜感激......

用于计算跨区文本宽度的代码:

private int calcWidthSize(CharSequence spannedString, int currentSize) {

    int res = 0;
    Paint paint = new Paint();
    float[] a= new float[444];
    paint.setTextSize(currentSize);
    paint.getTextWidths(spannedString,0,spannedString.length(),a);
    for (int num=0;num<a.length;num++){
            res+=(int)a[num];
    }

    return res;
}

1 个答案:

答案 0 :(得分:1)

解决了。显示的宽度是像素格式,等于240.Text measure给出了dp格式的结果