1

某些 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;
}
4

1 回答 1

1

已解决。显示的宽度为像素格式,等于 240。文本测量以 dp 格式为我们提供结果

于 2013-10-12T07:14:41.780 回答