獲取螢幕和View寬度和高度的幾種方式

2021-07-08 12:59:30 字數 946 閱讀 4081

獲取螢幕的寬高

1、通過windowmanager獲取

第一種方式:

windowmanager windowmanager = getwindowmanager();

displaymetrics displaymetrics = new displaymetrics();

windowmanager.getdefaultdisplay().getmetrics(displaymetrics);

int widthpixels = displaymetrics.widthpixels;//寬度

int heightpixels = displaymetrics.heightpixels;//高度

第二種方式(方法過時):

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

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

2、通過resources獲取(推薦)

int widthpixels = getresources().getdisplaymetrics().widthpixels;

int heightpixels = getresources().getdisplaymetrics().heightpixels;

獲取view的寬高

1、在系統方法onwindowfocuschanged方法中獲取(在這個方法中activity才真正可見,其他方法中獲取為0)

@override

public void onwindowfocuschanged(boolean hasfocus)

2、在view.post()方法中獲取

view.post(new runnable()

});

獲取螢幕寬度和高度

在android上的瀏覽器有個設定遠近的功能,導致獲取到的螢幕寬度和高度是會根據設定遠近而變化的。但是有個屬性不論如何設定都是不變的。就是螢幕的寬度和高度。var screenw window.outerwidth var screenh window.outerheight msg text wi...

C 獲取螢幕的寬度和高度

1 在螢幕的右下角顯示窗體 這個區域不包括工作列的 rectangle screenarea system.windows.forms.screen.getworkingarea this 這個區域包括工作列,就是螢幕顯示的物理範圍 rectangle screenarea system.windo...

C 獲取螢幕的寬度和高度

c 獲取螢幕的寬度和高度 1 在螢幕的右下角顯示窗體 1 在螢幕的右下角顯示窗體 這個區域不包括工作列的 rectangle screenarea system.windows.forms.screen.getworkingarea this 這個區域包括工作列,就是螢幕顯示的物理範圍 rectan...