關於螢幕寬高的問題

2021-08-14 22:21:42 字數 1367 閱讀 8325

獲取螢幕的寬高,通常方法如下幾種:

// 獲取螢幕密度(一)

display display = getactivity().getwindowmanager().getdefaultdisplay();

int screenwidth = display.getwidth(); // 螢幕寬

int screenheight = display.getheight(); // 螢幕高

// 獲取螢幕密度(二)

displaymetrics dm = getresources().getdisplaymetrics();

int screenwidth = dm.widthpixels; // 螢幕寬

int screenheight = dm.heightpixels; // 螢幕高

// 獲取螢幕密度(三)

displaymetrics dm = new displaymetrics();

getactivity().getwindowmanager().getdefaultdisplay().getmetrics(dm);

int screenwidth = dm.widthpixels; // 螢幕寬

int screenheight = dm.heightpixels; // 螢幕高

這種方法獲取的螢幕高度包括狀態列高度。

但是這幾個方法有點問題,正常的手機沒毛病,但是android4.0之後有了

虛擬按鍵

,有虛擬按鍵的系統呼叫上面的方法尺寸會減去虛擬按鍵的尺寸,回比。

解決方法

如下:(得到的數值就是一般所說的)

①api 17 之後提供了方法

displaymetrics 

dm = new displaymetrics();  

getwindowmanager().getdefaultdisplay().getrealmetrics(

dm);

int width = 

dm.widthpixels;  // 螢幕寬

int height = 

dm.heightpixels;  // 螢幕高

②在api 17之前通過反射獲取

display display = getwindowmanager().getdefaultdisplay();

displaymetrics dm = new displaymetrics();

@suppresswarnings("rawtypes")

class c;

try catch(exception e)

int width = dm.widthpixels;

int height = dm.heightpixels;

關於獲取Flex Mobile螢幕寬高

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

獲取螢幕的寬高

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

關於css寬高問題

問題 span標籤的width和height分別為多少?doctype html html head meta charset utf 8 title bootstrap 例項 標籤頁與膠囊式標籤頁 title head body div style width 400px height 200px...