android-getTextSize返回值是以像素(px)为单位的,setTextSize()以sp为单位

【android-getTextSize返回值是以像素(px)为单位的,setTextSize()以sp为单位】古人学问无遗力,少壮工夫老始成。这篇文章主要讲述android-getTextSize返回值是以像素(px)为单位的,setTextSize()以sp为单位相关的知识,希望能为你提供帮助。
使用如下代码时,发现字号不会变大,反而会变小:
size = (int) mText.getTextSize() + 1;
mText.setTextSize(size);
后来发现getTextSize返回值是以像素(px)为单位的,而setTextSize()是以sp为单位的,两者单位不一致才造成这样的结果。


这里可以用setTextSize()的另外一种形式,可以指定单位:
setTextSize(int unit, int size)
TypedValue.COMPLEX_UNIT_PX : Pixels
TypedValue.COMPLEX_UNIT_SP : Scaled Pixels
TypedValue.COMPLEX_UNIT_DIP : Device Independent Pixels


下面这样就正常了:
size = (int) mText.getTextSize() + 1;
mText.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
来源:  http://blog.csdn.net/lizhenmingdirk/article/details/7349386

来自为知笔记(Wiz)






















    推荐阅读