在android中管理多个设备的文本大小

时间:2014-02-08 13:50:27

标签: android textview

如何在运行时管理不同设备的文本大小。我尝试使用它,但没有变化。在dimen文件夹中我已经设置了

<dimen name="textsize">21sp</dimen>

和我使用的运行时间:

txt_font_change.setTextSize(TypedValue.COMPLEX_UNIT_PX,getResources().getDimensionPixelSize(R.dimen.textsize));

任何人都可以帮助我吗?

感谢和问候。

1 个答案:

答案 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