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

最佳答案

已解决。显示的宽度为像素格式,等于240.文本测量以dp格式给出结果

关于android - getTextWidths方法给出错误的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19320088/

10-13 09:48