Android 獲取螢幕寬度 高度 dpi等資訊

2021-08-29 03:53:11 字數 1313 閱讀 1404

在android中,關於螢幕的寬度、高度等的資訊都封裝在displaymetrics 類中,獲取 displaymetrics 的方法以下幾種:

第一種:

displaymetrics metrics = new displaymetrics();

windowmanager manager = (windowmanager) context.getsystemservice(service.window_service);

if (manager != null)

第二種:

displaymetrics metrics = context.getresources().getdisplaymetrics();
第三種:

displaymetrics metrics = new displaymetrics();

context.getdisplay().getmetrics(metrics);

displaymetrics metrics = new displaymetrics();
拿到displaymetrics之後,就可以訪問裡面的屬性了:

// 螢幕的邏輯密度,是密度無關畫素(dip)的縮放因子,160dpi是系統螢幕顯示的基線,1dip = 1px, 所以,在160dpi的螢幕上,density = 1, 而在乙個120dpi螢幕上 density = 0.75。

float density = metrics.density;

// 螢幕的絕對寬度(畫素)

int screenwidth = metrics.widthpixels;

// 螢幕的絕對高度(畫素)

int screenheight = metrics.heightpixels;

// 螢幕上字型顯示的縮放因子,一般與density值相同,除非在程式執行中,使用者根據喜好調整了顯示字型的大小時,會有微小的增加。

float scaleddensity = metrics.scaleddensity;

// x軸方向上螢幕每英吋的物理畫素數。

float xdpi = metrics.xdpi;

// y軸方向上螢幕每英吋的物理畫素數。

float ydpi = metrics.ydpi;

// 每英吋的畫素點數,螢幕密度的另一種表示。densitydpi = density * 160.

float desitydpi = metrics.densitydpi;

...

Android獲取螢幕寬度高度

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

Android開發 獲取螢幕高度和寬度

在開發的某些時候,需要獲取螢幕的高度和寬度,下面有兩種方法,大家可以試一下。方法一 windowmanager wm windowmanager this.getsystemservice context.window service int width wm.getdefaultdisplay g...

獲取螢幕寬度和高度

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