綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[其他] Android 常見屏幕分辨率

[複製連結] 查看: 36552|回覆: 0|好評: 0
跳轉到指定樓層
樓主
mazz | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2014-8-7 09:33

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 mazz 於 2014-8-7 10:08 編輯

1 Android手機目前常見的分辨率

1.1 手機常見分辨率:

4:3
VGA   640*480 (Video Graphics Array)
QVGA  320*240 (Quarter VGA)
HVGA  480*320 (Half-size VGA)
SVGA  800*600 (Super VGA)
5:3
WVGA  800*480 (Wide VGA)
16:9
FWVGA  854*480 (Full Wide VGA)
HD     1920*1080 High Definition
QHD    960*540
720p   1280*720  標清
1080p  1920*1080 高清
1.2 分辨率對應DPI

HVGA    mdpi
WVGA    hdpi
FWVGA   hdpi
QHD     hdpi
720P    xhdpi
1080P   xxhdpi
1.3 Sample for Icon

drawable-ldpi   (120 dpi, Low density screen)        - 36 x 36px
drawable-mdpi   (160 dpi, Medium density screen)     - 48 x 48px
drawable-hdpi   (240 dpi, High density screen)       - 72 x 72px
drawable-xhdpi  (320 dpi, Extra-high density screen) - 96 x 96px
drawable-xxhdpi (480 dpi,                         )  - 144 x 144px
2 屏幕適配的注意事項

2.1 基本設置

2.1.1 AndroidManifest.xml設置

在中Menifest中添加子元素

android:anyDensity=“true”時,應用程序安裝在不同密度的終端上時,程序會分別加載xxhdpi、xhdpi、hdpi、mdpi、ldpi文件夾中的資源。

相反,如果設為false,即使在文件夾下擁有相同資源,應用不會自動地去相應文件夾下尋找資源:

1) 如果drawable-hdpi、drawable-mdpi、drawable-ldpi三個文件夾中有同一張圖片資源的不同密度表示,那麼系統會去加載drawable_mdpi文件夾中的資源;

2) 如果drawable-hpdi中有高密度圖片,其它兩個文件夾中沒有對應圖片資源,那麼系統會去加載drawable-hdpi中的資源,其他同理;

3) 如果drawable-hdpi,drawable-mdpi中有圖片資源,drawable-ldpi中沒有,系統會加載drawable-mdpi中的資源,其他同理,使用最接近的密度級別。

2.1.2 橫屏豎屏目錄區分

1) drawable

a) drawable-hdpi該圖片即適用於橫屏,也適用於豎屏;

b) drawable-land-hdpi,當屏幕為橫屏,且為高密度時,加載此文件夾的資源;

c) drawable-port-hdpi,當屏幕為豎屏,且為高密度時,加載此文件夾中的資源。其他同理。

2) layout

在res目錄下建立layout-port和layout-land兩個目錄,裡面分別放置豎屏和橫屏兩種佈局文件,以適應對橫屏豎屏自動切換。

2.2 多屏幕適配的4條黃金原則

1) 在layout文件中設置控件尺寸時應採用fill_parent、wrap_content、match_parent和dp;

具體來說,設置view的屬性android:layout_width和android:layout_height的值時,wrap_content,match_parent或dp比px更好,文字大小應該使用sp來定義。

2) 在程序的代碼中不要出現具體的像素值,在dimens.xml中定義;

為了使代碼簡單,android內部使用pix為單位表示控件的尺寸,但這是基於當前屏幕基礎上的。為了適應多種屏幕,android建議開發者不要使用具體的像素來表示控件尺寸。

3) 不使用AbsoluteLayout(android1.5已廢棄) ,可以使用RelativeLayout替代;

4) 對不同的屏幕提供合適大小的圖片。

不同大小屏幕用不同大小的圖片,low:medium:high:extra-high圖片大小的比例為3:4:6:8;舉例來說,對於中等密度(medium)的屏幕你的圖片像素大小為48×48,那麼低密度(low)屏幕的圖片大小應為36×36,高(high)的為72×72,extra-high為96×96。

2.3 使用9-patch PNG圖片

使用圖片資源時,如果出現拉伸,因為圖片處理的原因,會變形,導致界面走形。9-patch PNG圖片也是一種標準的PGN圖片,在原生PNG圖片四周空出一個像素間隔,用來標識PNG圖片中哪些部分可以拉伸、哪些不可以拉伸、背景上的邊框位置等。

「上、左」定義可拉伸區域

「右、下」定義顯示區域,如果用到完整填充的背景圖,建議不要通過android:padding來設置邊距,而是通過9-patch方式來定義。

Android SDK中提供了編輯9-Patch圖片的工具,在tools目錄下draw9patch.bat,能夠立刻看到編輯後的拉伸效果,也可以直接用其他圖片編輯工具編輯,但是看不到效果。

2.4 不同的layout

Android手機屏幕大小不一,有480×320, 640×360, 800×480……

怎樣才能讓Application自動適應不同的屏幕呢?

其實很簡單,只需要在res目錄下創建不同的layout文件夾,比如:layout-640×360、layout-800×480……所有的layout文件在編譯之後都會寫入R.java裡,而系統會根據屏幕的大小自己選擇合適的layout進行使用。

2.5 測試驗證

一般使用AVD Manager創建多個不同大小的模擬器,如果條件具備,也可以直接用真機測試,這個比較靠譜。
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 1碎鑽 +1 幫助 +1 收起 理由
利碧波 + 1 + 1 很給力!

查看全部評分

收藏收藏3 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則