在java代码中设置TextView的字体大小,单位设为sp

要实现的效果如标题.

在dimen.xml文件中设置了18sp

开始的时候,通过sizeTv.setTextSize(getResource().getDimension(R.dimen.text_size))进行设置。

此时使用as的同学会发现,as提示的getDimension返回的值即为18sp。看着挺正常的。

但是跑出来的实际效果,会比在布局文件中直接设置18sp的字体来的大!!

暂时没去弄明白getDimension的作用及为何会提示是18sp而不是18dp亦或这里的单位是不是压根就没用。

为了实现效果,现在使用如下方法设置字体大小

sizeTv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);

其中第一个参数TypedValue.COMPLEX_UNIT_SP指明单位为sp。

自此可实现目标效果

 

转载于:https://www.cnblogs.com/ivan-aldrich/p/4917886.html

你可能感兴趣的:(在java代码中设置TextView的字体大小,单位设为sp)