在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表示單位面積...