屏幕大小
1、不同的layout
2、hdpi、mdpi、ldpi
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
- drawable-hdpi里面存放高分辨率的圖片,如WVGA (480x800),FWVGA (480x854)
- drawable-mdpi里面存放中等分辨率的圖片,如HVGA (320x480)
- drawable-ldpi里面存放低分辨率的圖片,如QVGA (240x320)
系統會根據機器的分辨率來分別到這幾個文件夾里面去找對應的圖片。在開發程序時為了兼容不同平臺不同屏幕,建議各自文件夾根據需求均存放不同版本圖片。
屏幕方向
1、橫屏豎屏自動切換
2、禁用自動切換
只需要在AndroidManifest.xml文件中加入android:screenOrientation屬性限制。
- Android:screenOrientation="landscape"
//是限制此頁面橫屏顯示 - Android:screenOrientation="portrait"
//是限制此頁面數豎屏顯示
字體自適應大小
方法1:
首先根據不同分辨率獲取不同字體大小。
在RES里創建
values-480x320/strings.xml 里面設置<dimenname="Text_size">30px</dimen>
和
values-800x400/strings.xml 里面設置<dimenname="Text_size">30px</dimen>
分別代表480X320 和 800X400分辨率情況下 字號為30px和40px;
在java文件中這樣調用
int sizeOfText = (int)this.getResources().getDimension(R.dimen.Text_size);
方法2:
在視圖的 onsizechanged里獲取視圖寬度,一般情況下默認寬度是320,所以計算一個縮放比率rate = (float)w/320
然后在設置字體尺寸時 paint.setTextSize((int)(8*rate));