android之屏幕適配

android之屏幕適配


logo尺寸:單位(像素)
mdip:48*48
hdip:72*72
xhdip:96*96
xxhdip:144*144
xxxhdip:192*192

資源對應屏幕分辨率
mdip:480*320
hdip:800*480,854*480,960*540
xhdip:1280*720
xxhdip:1920*1080
xxxhdip:基本用不到



分辨率對應DPI

"HVGA     mdpi"
"FWVGA hdpi "
"QHD      hdpi "
"720P     xhdpi"
"1080P   xxhdpi "

"WVGA   hdpi "



屏幕適配的注意事項

1.在中Menifest中添加子元素

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

相反,如果設爲false,即使在文件夾下擁有相同資源,應用不會自動地去相應文件夾下尋找資源,而是優先使用低密度的



2.drawable

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

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

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



3.layout

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



4.在程序的代碼中不要出現具體的像素值,在dimens.xml中定義,android內部使用pix爲單位表示控件的尺寸,但這是基於當前屏幕基礎上的。爲了適應多種屏幕,android建議開發者不要使用具體的像素來表示控件尺寸。



5.對不同的屏幕提供合適大小的圖片。

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



6.使用9-patch PNG圖片

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

“上、左”定義可拉伸區域

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

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



7.不同的layout

Android手機屏幕大小不一,有480x320, 640x360, 800x480……

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

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


發佈了27 篇原創文章 · 獲贊 28 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章