在xml文件中字体大小用的像素px
android:textSize="@dimen/x40"
<dimen name="x40">26.66px</dimen>
然后在代码中想动态改变字体大小,于是直接用了
textView.setTextSize(TgetResources().getDimension(R.dimen.x45));
发现字体变得巨大。。。。
后来才发现setText()默认设置的是sp,不是px。
最后将代码改为
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,getResources().getDimension(R.dimen.x45));显示正常。
经过查看源码,发现了以下的方法:
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,45); //设置45PX
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP,45); //设置45SP
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP,45);//设置45DIP