Android 中的DisplayMetrics類的用法

鴨脖發表於2015-11-09

Android 可設定為隨著視窗大小調整縮放比例,但即便如此,手機程式設計人員還是必須知道手機螢幕的邊界,以避免縮放造成的佈局變形問題。

手機的解析度資訊是手機的一項重要資訊,很好的是,Android 已經提供DisplayMetircs 類可以很方便的獲取解析度。下面簡要介紹 DisplayMetics 類:

Andorid.util 包下的DisplayMetrics 類提供了一種關於顯示的通用資訊,如顯示大小,解析度和字型。

為了獲取DisplayMetrics 成員,首先初始化一個物件如下:

DisplayMetrics display= new DisplayMetrics();

Log.d("yujian<<", display.toString());//直接在這裡輸出,資訊都是0.

getWindowManager().getDefaultDisplay().getMetrics(display);//將當前視窗的一些資訊放在DisplayMetrics類中,

Log.d("yujian<<", display.toString());//然後就可以通過dispalyMetrics類來獲取當前視窗的一些資訊

注:建構函式DisplayMetrics 不需要傳遞任何引數;getDefaultDisplay() 方法將取得的寬高維度存放於DisplayMetrics 物件中,而取得的寬高維度是以畫素為單位(Pixel) ,“畫素”所指的是“絕對畫素”而非“相對畫素”。

通過 DisplayMetrics的 toString()方法可以獲取到 DisplayMetrics的大部分 fields資訊,如下是在解析度為 480x320情況下的一些輸出資訊:


 12-06 16:39:34.946: D/yujian<<(6731): DisplayMetrics
{density=1.0, width=320, height=480, scaledDensity=1.0, 
xdpi=159.37254, ydpi=160.42105}

相關文章