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

Posted 竹山一叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

























以上是关于android-getTextSize返回值是以像素(px)为单位的,setTextSize()以sp为单位的主要内容,如果未能解决你的问题,请参考以下文章

引用类型参数应该注意的一点问题

函数的返回值函数的调用函数的参数

从函数返回多个值

Javascript 图像 URL 验证

C语言函数怎么像python那样返回多个值?(三种方法:1设置全局变量 2传递指针 3使用结构体返回不同类型的数据)

如何只返回 True 值?