要实现的效果如标题.

在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。

自此可实现目标效果

 

posted on 2015-10-28 17:07  Ivan Aldrich  阅读(1878)  评论(0编辑  收藏  举报