實google在分辨率適應性的東西已經寫的很清楚了,只是我們很多人沒去看而已
以下是結論:
屏幕分辨率:1024x600
density:1(160)
文件夾:values-mdpi-1024x600
屏幕分辨率:1024x600
density:1.5(240)
文件夾:values-hdpi-683x400 由1024/1.5 600/1.5得到,需要四捨五入。
屏幕分辨率:800x480
density:1(160)
文件夾:values-mdpi-800x480
屏幕分辨率:800x480
density:1.5(240)
文件夾:values-hdpi-533x320 由800/1.5 480/1.5得到,需要四捨五入。
以此類推
一般情況下需要創建出values 、values-mdpi 、 values-hdpi文件夾,以備在一些沒有規定的尺寸屏幕上找不到資源的情況。
然後在裏面使用不同的dimens文件,Layout中不要使用顯示的數字,所有的尺寸定義全都援引dimens裏面的內容。
這樣能夠保證深度UI定製的情況
另外在工程的default.properties中如果split.density=false,則分辨率適配的時候文件夾命名不需要與scale相除
例
屏幕分辨率:800x480
density:1.5(240)
文件夾:values-hdpi-800x480
************************************************************分割線************************************************************
關於dimens
位置:res\values
單位:px Pixel 以畫面的像素爲單位;
in Inches以畫面的多少英寸爲單位;
mm Millimeter以畫面的多少毫米爲單位;
pt Points 一點爲1/72英寸;
dp或dip Density-indepentdent 爲160dpi屏幕的一個pixel;
ap Scale-independent Pixels 隨屏幕尺寸改變的一個pixel;
1.drawable: 存放不同分辨率對應圖片
在2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三個,這三個主要是爲了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
(1)drawable-hdpi裏面存放高分辨率的圖片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi裏面存放中等分辨率的圖片,如HVGA (320x480)
(3)drawable-ldpi裏面存放低分辨率的圖片,如QVGA (240x320)
系統會根據機器的分辨率來分別到這幾個文件夾裏面去找對應的圖片。
在2.1之前的版本可以通過drawable-800x480, drawable-480x320 等方式實現。
2:layout:放置對應不同分辨率的佈局
創建不同的layout文件夾, layout-800x480,layout-480x320, 系統會根據屏幕的大小自己選擇合適的layout進行使用。
另外:可以在res目錄下建立layout-port和layout-land兩個目錄,裏面分別放置豎屏和橫屏兩種佈局文件。
下面列出主流的android機型有:
240x320低端,國產入門級採用,例如HTC G4,G8
320x480中端,大部分基於此分辨率,例如HTC G1,G2,G3,G6, MOTO ME600, SAMSUNG I7500
480x800中高端,大部分基於此分辨率,例如HTC G5,G7, MOTO MT810
480x854MOTO特有的,例如Droid, Milestone, XT800
960x640, 魅族M9