调用TextView.setTextSize()
异常。在调用setTextSize
之后,如果我们得到getTextSize
,则其返回的值比我们之前设置的值高得多。
这是我们正在做的:
zoomControl.setOnZoomInClickListener(new OnClickListener() {
public void onClick(View view) {
float size = mViewShabad.getTextSize() + 1;
textView.setTextSize(size);
}
});
有没有人见过这个?
最佳答案
此处的区别在于,在setTextSize(int size)
方法中,默认情况下,单位类型为“sp”或“缩放的像素”。对于每个屏幕密度(ldpi,mdpi,hdpi),该值都是不同的像素尺寸。
另一方面,getTextSize()
返回文本的实际像素尺寸。
您可以使用setTextSize(int unit, float size)
指定单位类型。可以在TypedValue类中找到其常量值,但其中一些是:
TypedValue.COMPLEX_UNIT_PX //Pixels
TypedValue.COMPLEX_UNIT_SP //Scaled Pixels
TypedValue.COMPLEX_UNIT_DIP //Device Independent Pixels