如何在运行时管理不同设备的文本大小。我尝试使用它,但没有变化。在dimen文件夹中我已经设置了
<dimen name="textsize">21sp</dimen>
和我使用的运行时间:
txt_font_change.setTextSize(TypedValue.COMPLEX_UNIT_PX,getResources().getDimensionPixelSize(R.dimen.textsize));
任何人都可以帮助我吗?
感谢和问候。
答案 0 :(得分:5)
您不需要以编程方式设置维度:使用dimens.xml为所有Android设备分辨率设置文本大小。
在你的xml文件中:
<TextView
android:id="@+id/txt_day_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="1"
android:textColor="@color/black"
android:textSize="@dimen/text_size"
android:textStyle="bold" />
在值文件夹值-hdpi =&gt; dimens.xml(480×800)
<dimen name="text_size">20dp</dimen>
在值文件夹值-mdpi =&gt; dimens.xml(480)
<dimen name="text_size">16dp</dimen>
在值文件夹值-sw360dp-notlong-hdpi =&gt; dimens.xml(540x960)
<dimen name="text_size">21dp</dimen>
在值文件夹值-sw360dp-xhdpi =&gt; dimens.xml(720x1280)
<dimen name="text_size">23dp</dimen>
在值文件夹值-sw360dp-notlong-xhdpi =&gt; dimens.xml(768x1280)
<dimen name="text_size">24dp</dimen
在值文件夹值-sw360dp-notlong-xxhdpi =&gt; dimens.xml(1080x1920)
<dimen name="text_size">27dp</dimen