Android笔记之TextView的textsize属性获取与设置

一、代码中的textsize属性

TextView的textsize属性我们经常会用到,经常带xml中设置(产品也经常要改,顺便再改个色儿),也可以在代码中动态设置。但是小德在实际使用时发现了一个值得注意的地方。

二、单位问题

Android中有px、dp(dip)、sp作为单位。1px就指的是物理上的一个像素点,明显是和设备有关的,而dp是设备无关的单位,是为了更好地进行适配,sp一般作为字体大小单位,与缩放无关。
小德这里是使用dp作为textsize的大小的(为了不让系统字体大小影响自己的APP),但是在get、settextsize的时候就出现了单位问题。
我们使用 textview.getTextSize()获取textsize,返回的是以px为单位的值,但是我们在使用 textView.setTextSize(float size)的时候默认的是使用的dp单位,这就很容易造成混乱了。

三、解决也很简单

TextView的settextsize其实有个重载: setTextSize(int unit, float size),第一个参数就是使用TypedValue来指定单位的。TypedValue可选的属性有很多,这里我们用到的是:COMPLEX_UNIT_DIP COMPLEX_UNIT_PX COMPLEX_UNIT_SP,分别代表的是dp、px和sp。
//作为Android开发的初学者,如果我有错误的地方或者不足的话欢迎大家指正。希望与大家一同进步。

你可能感兴趣的:(Android笔记之TextView的textsize属性获取与设置)