阅读132 返回首页    go 阿里云 go 技术社区[云栖]


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 

Java代码  收藏代码
  1. <TextView    
  2.     android:layout_width="fill_parent"   
  3.     android:layout_height="wrap_content"   
  4.     android:text="@string/hello"  
  5.     android:textSize="@dimen/Text_size"  
  6.     />  


布局多分辨率适配 

 

最后更新:2017-04-02 16:48:10

  上一篇:go iOS中的图像处理(二)——卷积运算
  下一篇:go 语义搜索及框计算:从百度查生僻字谈起