您的位置:首页 > 移动开发 > Android开发

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

2016-03-17 11:22 260 查看
使用如下代码时,发现字号不会变大,反而会变小:

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: