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...