Android獲得螢幕寬高的方法

2021-07-09 03:08:52 字數 1250 閱讀 9458

android開發中獲得螢幕的寬度和高度還是比較常用的,在網上找到了很多,在這算是乙個總結,以便以後使用。

1.看到的最常見的一種就是一下的這種了

windowmanager = getwindowmanager();//得到視窗的管理者

display display = windowmanager.getdefaultdisplay(); //通過視窗管理 得到顯示管理

screenwidth = display.getwidth(); //通過顯示管理 獲取寬度

screenheight = display.getheight(); //通過顯示管理獲取高度

不過這個方法好像已經過期了,官方給出的取代方法是public void getsize (point outsize),傳入的是乙個point物件。

2.這是另外一種

displaymetrics metric = new displaymetrics(); //獲得displaymetrics物件

context.getwindowmanager().getdefaultdisplay().getmetrics(metric);//metric作為引數

screenwidth = metric.widthpixels; //獲得寬

screenwidth = metric.heightpixels; //獲得高

這個是獲得寬和高的解析度畫素的一種做法,現在比較多的就是用這個方法了

3.還有的是這樣寫的

windowmanager wm = (windowmanager) getcontext()

.getsystemservice(context.window_service);

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

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

其實這個方法跟第一種應該是同一種,只是獲得windowmanager的方法不同而已,這個是呼叫了系統的服務獲得的windowmanager物件

需要注意的是,如果在oncreat()方法中呼叫getwidth()方法返回的是0,這是因為執行完oncreate()方法之後,我們需要顯示的控制項才能被度量,所以要想獲得width和height的話是需要在執行oncreate()之後的。

而用第二種方法的話卻沒有這樣的限制,因為獲得的是螢幕的解析度。

android 獲取螢幕寬高

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

Android獲取螢幕寬高

方法一 windowmanager wm1 this.getwindowmanager int width1 wm1.getdefaultdisplay getwidth int height1 wm1.getdefaultdisplay getheight 方法二 windowmanager wm...

獲取螢幕的寬高

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