對於一個 Android 程式開發者來說,如何得到使用者螢幕的真實尺寸是一件很重要的事,由其要對不同的裝置來做不同的設計,但是在 Android 中,似乎沒有針對這個來做 api,於是就興起了自己計算的念頭。而在這裡用到的技巧,是靠著「xdpi」和「ydpi」這兩個常數,分別代表著「每英吋的水平像素數」和「每英吋的垂直像素數」。
在求出 xdpi 和 ydpi 後,接著就是簡單的數學囉!四方形的對角線長度等於 「x 軸的平方 + y 軸的平方」再開根號,這樣就可以求出螢幕的真實尺寸,而這尺寸只是接近真實,並不等於裝置規格上的螢幕尺寸。
而以下為程式碼,若有需要再請拿走吧!
private double getScreenInch()
{
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
double screenInches 0;
screenInches = Math.sqrt
(
Math.pow(dm.widthPixels/dm.xdpi,2)+
Math.pow(dm.heightPixels/dm.ydpi,2)
);
Log.d("debug","Screen inches : " + screenInches);
return screenInches;
}