Android代码中设置字体大小

时间:2023-02-01 21:13:22

在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