某些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/