在java代码中设置TextView的字体大小,单位设为sp
要实现的效果如标题.
在dimen.xml文件中设置了<dimen name="text_size">18sp</dimen>
开始的时候,通过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。
自此可实现目标效果
文章来自:http://www.cnblogs.com/ivan-aldrich/p/4917886.html