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

Har*_*dik -1 android textview

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

<dimen name="textsize">21sp</dimen>
Run Code Online (Sandbox Code Playgroud)

和我使用的运行时间:

txt_font_change.setTextSize(TypedValue.COMPLEX_UNIT_PX,getResources().getDimensionPixelSize(R.dimen.textsize));
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

感谢和问候.

Meh*_*ara 5

您不需要以编程方式设置维度:使用dimens.xml为所有Android设备分辨率设置textsize.

在您的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" /> 
Run Code Online (Sandbox Code Playgroud)

在值文件夹值-hdpi => dimens.xml(480x800)

<dimen name="text_size">20dp</dimen>
Run Code Online (Sandbox Code Playgroud)

在值文件夹值-mdpi => dimens.xml(320x480)

<dimen name="text_size">16dp</dimen>
Run Code Online (Sandbox Code Playgroud)

在值文件夹值-sw360dp-notlong-hdpi => dimens.xml(540x960)

<dimen name="text_size">21dp</dimen>
Run Code Online (Sandbox Code Playgroud)

在值文件夹值-sw360dp-xhdpi => dimens.xml(720x1280)

<dimen name="text_size">23dp</dimen>
Run Code Online (Sandbox Code Playgroud)

在值文件夹值-sw360dp-notlong-xhdpi => dimens.xml(768x1280)中

<dimen name="text_size">24dp</dimen
Run Code Online (Sandbox Code Playgroud)

在值文件夹值-sw360dp-notlong-xxhdpi => dimens.xml(1080x1920)

<dimen name="text_size">27dp</dimen
Run Code Online (Sandbox Code Playgroud)