獲取螢幕寬度的幾種方法

2021-08-11 04:08:52 字數 1491 閱讀 5377

方法一:

displaymetrics dm = getresources().getdisplaymetrics();

int widthpixels = dm.widthpixels; // 螢幕的寬度

方法二:

displaymetrics displaymetrics = new displaymetrics();

getwindowmanager().getdefaultdisplay().getmetrics(displaymetrics);

screenwidth = displaymetrics.widthpixels;

方法三:

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

displaymetrics dm = new displaymetrics();

wm.getdefaultdisplay().getmetrics(dm);

int width = dm.widthpixels; // 螢幕寬度(px)

int height = dm.heightpixels; // 螢幕高度(px)

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

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

// 螢幕寬度演算法:螢幕寬度(px)/螢幕密度 px = dip * (dpi / 160) || px = dip * density

int screenwidth = (int) (width / density); // 螢幕寬度(dp | dip)

int screenheight = (int) (height / density);// 螢幕高度(dp | dip)

還有其他方法:一般使用前面幾種方法較多,下面兩種方法目前已經過時,不建議用

windowmanager wm = (windowmanager) this

.getsystemservice(context.window_service);

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

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

windowmanager wm1 = this.getwindowmanager();

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

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

Android獲取螢幕寬度的4種方法

方法一 windowmanager wm windowmanager this getsystemservice context.window service int width wm.getdefaultdisplay getwidth int height wm.getdefaultdispla...

Android 獲取螢幕寬度和高度的幾種方法

方法一 display defaultdisplay getwindowmanager getdefaultdisplay point point new point defaultdisplay.getsize point int x point.x int y point.y log.i tag...

c 擷取螢幕的幾種方法

1 private void button1 click object sender,eventargs e 2 dllimport user32 charset charset.ansi,setlasterror true,exactspelling true private static ext...