Android 多解析度自適應總結

2021-09-23 23:29:36 字數 2138 閱讀 9402

一、一般基本原則以及總結

1、xml布局中不要寫死, 既單位不要用px,盡量用dp,或者match、warp

2、應該盡量把資源設計成可以拉伸的.9圖,如果有漸變,盡量橫向或豎向單方向漸變,這樣能大大減小安裝包大小,同時也能提高處理速度。

3、如果不想設計多套,那就設計最大的那套。壓縮總比拉伸好,放在drawable-xhdpi這個資料夾。

4、寫幾套value值,對應不同解析度。一套layout即可。如下圖所示。

5、建立多個layout資料夾,資料夾名稱為layout-800x480等。需要適應那種解析度就寫成什麼。(這種方式太累了,還會導致應用大,不建議)

6、迫不得已要重寫部分layout的xml。

layout-1024x768   

layout-1024x600   

layout-1280x768 

layout-land-1024x720 //1024x768橫屏

layout-port-976x768     //1024x768豎屏

注意格式,【layout】-【port/land】-【長度x寬度】

注意事項:

在android3.0後,要適配如上的解析度,需將高度減去48畫素,即底部狀態列的高度,android方可識別。

解析度中大的數字必須寫到前面,否則會產生語法錯誤。7、

[html]view plain

copy

<

supports-screens

android:largescreens

="true"

android:normalscreens

="true"

android:anydensity

= "true"

/>

android:anydensity="true" ,這一句對整個的螢幕都起著十分重要的作用,值為true,我們的應用程式當安裝在不同密度的手機上時,程式會分別載入hdpi,mdpi,ldpi檔案 夾中的資源。

二、附上android部分螢幕解析度,畫素知識。

低密度(120),ldpi

中密度(160),mdpi

高密度(240),hdpi

小螢幕1、qvga(240×320),2.6~3.0寸

普通螢幕

1、wqvga(240×400),3.2~3.5寸

2、fwqvga(240×432),3.5~3.8寸

3、hvga(320×480),3.0~3.5寸

4、wvga(480×800),3.3~4.0寸

5、fwvga(480×854),3.5~4.0寸

大螢幕1、wvga(480×800),4.8~5.5寸

2、fwvga(480×854),5.0~5.8寸

螢幕尺寸分為:small,normal,large,xlarge分別表示小,中,大,超大屏

螢幕密度分為:ldpi,mdpi,hdpi,xhdpi,它們的標準值分別是:120dpi,160dpi,240dpi,320dpi

px(畫素):螢幕上的點。

in(英吋):長度單位。

mm(公釐):長度單位。

pt(磅):1/72英吋。

dp(與密度無關的畫素):一種基於螢幕密度的抽象單位。在每英吋160點的顯示器上,1dp = 1px。

dip:與dp相同,多用於android/ophone示例中。

sp(與刻度無關的畫素):與dp類似,但是可以根據使用者的字型大小首選項進行縮放。

由此,根據 google 的建議,textview 的字型大小最好使用 sp 做單位,而且檢視textview的原始碼可知 android 預設使用 sp 作為字型大小單位。

關於sp與dp的選擇的建議是:

1、如果textview的顯示區域可以彈性變化(wrap_content,當然其所有父view也需要可以彈性變化),這時可以優先考慮用sp,這時字型大小更改一般來說不會破壞介面的可用性

2、 與1情況相反時,textview的顯示區域已經限定在乙個固定值(或者其父view被限定了),這時優先考慮用dp吧,不然遇到一直使用著超大字型的使用者,字型可能橫向被截了,而使用者不知情,會覺得是程式問題。

Android 程式適應多種多解析度

關於在不同解析度中的布局自動適應的問題,在網上找了很多,現在將其分享出來 預設的載入方式都不能很好地適應不同的解析度,android 從1.6 開始支援多種解析度的處理,原理簡而言之就是根據螢幕引數,動態載入資源檔案。在android 專案檔案結構中,drawable 資料夾下包含三個子資料夾,分別...

關於多解析度適應

問題描述 大家都用什麼方法解決多解析度問題呢?我參照網上的建立多個layout資料夾的方式,好像沒效果。建了兩個目錄,不同布局想支援多解析度。還有個預設的layout布局跟1280x720一樣的。但是我在乙個1280x720的手機上,顯示的是854x480的資料夾裡面的布局。求解。謝謝 解決方案1 ...

Android解析度常識 多解析度適配

螢幕大小 以螢幕對角線的物理長度來衡量螢幕的大小 解析度 螢幕中所有物理畫素點數。如1920x1080,就表示寬方向有1920個畫素,高方向有1080個畫素,整個螢幕有2073600個畫素。螢幕密度 dpi dots per inch 即畫素密度,每英吋面積上存在多少個畫素。160dpi表示單位面積...