Android萬能解析度適應法

2021-07-30 04:21:26 字數 1868 閱讀 3620

在android開發中比較頭疼的是android的解析度問題,那麼這裡給大家介紹個萬能辦法,這個辦法的優點是可以實現萬能適應,給開發和美工設計提供了依據,但是對開發來說**量也不少,具體辦法你聽我來說:

1)獲取螢幕的尺寸1

windowmanager windowmanager = (windowmanager)

2getsystemservice(context.window_service);

3display d = windowmanager.getdefaultdisplay();

4mwidth = d.getwidth();

5mheight = d.getheight();

6displaymetrics dm = getresources().getdisplaymetrics();

7mscreendensity = dm.density;

2)美工設計圖的尺寸1

uiwidth,uiheight

3)獲取縮放比例1

floatscalewidth = mwidth / uiwidth;

2floatscaleheight = mheight/ uiheight;

4)所有布局的尺寸用**實現:

01publicstaticintgetwidthsize(intsize)04

05publicstaticintgethightsize(intsize)08

09publicstaticfloatgettextsize(intpxsize)12

13publicstaticvoidsetviewsize(intwidth,intheight, view v)

21if(height != invalid)

24v.setlayoutparams(params);25}

26 27

publicstaticvoidsetviewpadding(intleft,inttop,intright,intbottom,

28view v)35

36

37publicstaticvoidsetviewmargin(intleft,inttop,intright,intbottom,

38view v)

48if(right != invalid)

51if(top != invalid)

54if(bottom != invalid)

57v.setlayoutparams(params);58}

5)這裡是設定尺寸的**:1

setviewsize(100, 100, mview);

2setviewmargin(20, 0, 0, 20, mview);

3setviewpadding(10, 10, 10, 10, mview);

4mtextview.settextsize(gettextsize(30));

由上在設計效果圖時,可對圖內元素進行尺寸標註,程式即可實現按比例縮放。

Android 程式適應多種多解析度

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

Android 多解析度自適應總結

一 一般基本原則以及總結 1 xml布局中不要寫死,既單位不要用px,盡量用dp,或者match warp 2 應該盡量把資源設計成可以拉伸的.9圖,如果有漸變,盡量橫向或豎向單方向漸變,這樣能大大減小安裝包大小,同時也能提高處理速度。3 如果不想設計多套,那就設計最大的那套。壓縮總比拉伸好,放在d...

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

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