我大量使用Paint.measureText()
方法,并且惊讶地发现在4.4中,此方法返回的float
总是向上舍入。在以前的版本中,没有发生舍入。我在4.0.4设备和4.4设备上运行以下代码。 4.0.4设备的结果是第一个,4.4设备的结果是第二个。
有关如何在4.4中获取非基础值的任何建议,可能我错过了Paint
的新属性?
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Paint p = new Paint();
p.setTypeface(Typeface.create(Typeface.SANS_SERIF, Typeface.NORMAL));
p.setTextSize(1);
p.setAntiAlias(true);
p.setSubpixelText(true);
Log.e("T", p.measureText("T")+"");
Log.e("h", p.measureText("h")+"");
Log.e("e", p.measureText("e")+"");
Log.e("L", p.measureText("L")+"");
Log.e("a", p.measureText("a")+"");
Log.e("z", p.measureText("z")+"");
Log.e("y", p.measureText("y")+"");
Log.e("w", p.measureText("w")+"");
}
4.0.4:
0.59375 0.5625 0.515625 0.546875 0.546875 0.5 0.5 0.75
4.4:
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0