Android獲取螢幕寬高

2021-08-03 01:37:06 字數 1795 閱讀 6505

//        方法一:

windowmanager wm1 = this.getwindowmanager();

int width1 = wm1.getdefaultdisplay().getwidth();

int height1 = wm1.getdefaultdisplay().getheight();

// 方法二:

windowmanager wm = (windowmanager) getsystemservice(context.window_service);

int width2 = wm.getdefaultdisplay().getwidth();

int height2 = wm.getdefaultdisplay().getheight();

// 方法一與方法二獲取螢幕寬度的方法類似,只是獲取windowmanager 物件時的途徑不同。

// 方法三:

windowmanager wm = (windowmanager) getsystemservice(context.window_service);

displaymetrics outmetrics = new displaymetrics();

manager.getdefaultdisplay().getmetrics(outmetrics);

int width3 = outmetrics.widthpixels; // 螢幕寬度(畫素)

int height3 = outmetrics.heightpixels; // 螢幕高度(畫素)

float density = outmetrics.density; // 螢幕密度(0.75 / 1.0 / 1.5)

int densitydpi = outmetrics.densitydpi; // 螢幕密度dpi(120 / 160 / 240)

// 方法四:

resources resources = this.getresources();

displaymetrics dm = resources.getdisplaymetrics();

float density = dm.density;

int width4 = dm.widthpixels;

int height4 = dm.heightpixels;

// 方法三與方法四類似。

因 display.getheight(),display.getwidth() 方法過時推薦使用方法三與四

但是,需要注意的是,在乙個低密度的小屏手機上,僅靠上面的**是不能獲取正確的尺寸的。比如說,一部240x320畫素的低密度手機,如果執行上述**,獲取到的螢幕尺寸是320x427。因此,研究之後發現,若沒有設定多解析度支援的話,android系統會將240x320的低密度(120)尺寸轉換為中等密度(160)對應的尺寸,這樣的話就大大影響了程式的編碼。所以,需要在工程的androidmanifest.xml檔案中,加入supports-screens節點,具體的內容如下:

android:smallscreens="true"

android:normalscreens="true"

android:largescreens="true"

android:resizeable="true"

android:anydensity="true" />

這樣的話,當前的android程式就支援了多種解析度,那麼就可以得到正確的物理尺寸了。

android 獲取螢幕寬高

發現專案中有兩種獲取螢幕寬高的方法 一 通過windowmanager獲取display,通過display獲取metrics,通過metrics獲取寬高。最後的單位是px。public static final int getscreenwidth 二 通過windowmanager獲取displ...

獲取螢幕的寬高

獲取螢幕長寬常用方法有三種 androidmanifest.xml檔案中,加入supports screens節點,這樣的話,當前的android程式就支援了多種解析度,那麼就可以得到正確的物理尺寸了。方法一 windowmanager wm windowmanager getsystemservi...

關於獲取Flex Mobile螢幕寬高

1.mobile width and height import flash.display.screen import flash.system.capabilities trace capabilities.screenresolutionx,capabilities.screenresolut...