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;