Android手机在不同分辨率情况下字体自适应大小

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

两种解决方法:

一、

1、首先根据不同分辨率获取不同字体大小。
在RES里创建
values-480x320/strings.xml 里面设置<dimen name="Text_size">30px</dimen>

values-800x400/strings.xml 里面设置<dimen name="Text_size">30px</dimen>

分别代表480X320 和 800X400分辨率情况下 字号为30px和40px;

在java文件中这样调用

int sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);

二、

1. 在视图的 onsizechanged里获取视图宽度,一般情况下默认宽度是320,所以计算一个缩放比率
   rate = (float) w/320   w是实际宽度
2.然后在设置字体尺寸时 paint.setTextSize((int)(8*rate));   8是在分辨率宽为320 下需要设置的字体大小
  实际字体大小 = 默认字体大小 x  rate

<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:textSize="@dimen/Text_size"
    />



布局多分辨率适配

Android手机在不同分辨率情况下字体自适应大小

 

你可能感兴趣的:(xml,android)