Android中Display及DisplayMetrics理解

Android已經提供DisplayMetircs類可以很方便的獲取分辨率。下面簡要介紹DisplayMetics類:

Andorid.util包下的DisplayMetrics類提供了一種關於顯示的通用信息,如顯示大小,分辨率和字體。

爲了獲取DisplayMetrics成員,首先初始化一個對象如下:

DisplayMetrics metrics =new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics;

注:構造函數DisplayMetrics不需要傳遞任何參數;調用getWindowManager()之後,會取得現有Activity的Handle,此時,getDefaultDisplay()方法將取得的寬高維度存放於DisplayMetrics對象中,而取得的寬高維度是以像素爲單位(Pixel),“像素”所指的是“絕對像素”而非“相對像素”。

一般通用程序寫法如下:

    Display display = getWindow().getWindowManager().getDefaultDisplay();
    DisplayMetrics outMetrics = new DisplayMetrics();
    display.getMetrics(outMetrics);

這裏很奇怪,和我們一般的理解不一樣,這裏是把測量的結果存放到outMetrics 中。outMetrics中就存放了,我們需要的屏幕的寬高數據,通過outMetrics.  後面就會出現很多有關屏幕信息的數據,例如常用的寬WidthPixels 和高 heightPixels;

例如下面一句代碼就是獲取屏幕一半的寬度:

int with = outMetrics.widthPixels/2;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章