某些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;
}
答案 0 :(得分:1)
解决了。显示的宽度是像素格式,等于240.Text measure给出了dp格式的结果