Android 適配不同分辨率&hdpi、mdpi、ldpi&橫屏豎屏

fmms 12年前發布 | 39K 次閱讀 Android Android開發 移動開發

一:不同的layout
Android手機屏幕大小不一,有480×320, 640×360, 800×480.怎樣才能讓App自動適應不同的屏幕呢?
其實很簡單,只需要在res目錄下創建不同的layout文件夾,比如layout-640×360,layout-800×480,所有的layout文件在編譯之后都會寫入R.java里,而系統會根據屏幕的大小自己選擇合適的layout進行使用。

二:hdpi、mdpi、ldpi

在之前的版本中,只有一個drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三個,這三個主要是為了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
(1)drawable-hdpi里面存放高分辨率的圖片,如WVGA (480×800),FWVGA (480×854)
(2)drawable-mdpi里面存放中等分辨率的圖片,如HVGA (320×480)
(3)drawable-ldpi里面存放低分辨率的圖片,如QVGA (240×320)
系統會根據機器的分辨率來分別到這幾個文件夾里面去找對應的圖片。
在開發程序時為了兼容不同平臺不同屏幕,建議各自文件夾根據需求均存放不同版本圖片。

三:橫屏豎屏

以下步驟是網上流傳的,不過我自己之前是通過圖形化界面實現這個配置,算是殊途同歸,有空我會把圖片貼上來。
還要說明一點:每個activity都有這個屬性screenOrientation,每個activity都需要設置,可以設置為豎屏(portrait),也可以設置為無重力感應(nosensor)。
要讓程序界面保持一個方向,不隨手機方向轉動而變化的處理辦法:

在AndroidManifest.xml里面配置一下就可以了。加入這一行android:screenOrientation=”landscape”。
例如(landscape是橫向,portrait是縱向):

對于Android游戲開發我們不得不像iPhone那樣思考兼容 Android平板電腦,對于蘋果要考慮iPad、iPhone 3GS和iPhone 4等屏幕之間的兼容性,對于幾乎所有的分辨率總結了大約超過20中粉筆阿女郎的大小和對應關系,對于開發Android游戲而言可以考慮到未來的3.0以及很多平板電腦的需要。

常規的我們可能只考慮QVGA,HVGA,WVGA,FWVGA和DVGA,但是拋去了手機不談,可能平板使用類似WSVGA的1024×576以及WXGA的1280×768等等。
QVGA = 320 * 240;
WQVGA = 320 * 480;
WQVGA2 = 400 * 240;
WQVGA3 = 432 * 240;
HVGA = 480 * 320;
VGA = 640 * 480;
WVGA = 800 * 480;
WVGA2 = 768 * 480;
FWVGA = 854 * 480;
DVGA = 960 * 640;
PAL = 576 * 520;
NTSC = 486 * 440;
SVGA = 800 * 600;
WSVGA [...]

</div>

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!