閱讀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 語義搜索及框計算:從百度查生僻字談起