[Android 開發] 如何得到手機、裝置的螢幕真實尺寸

對於一個 Android 程式開發者來說,如何得到使用者螢幕的真實尺寸是一件很重要的事,由其要對不同的裝置來做不同的設計,但是在 Android 中,似乎沒有針對這個來做 api,於是就興起了自己計算的念頭。而在這裡用到的技巧,是靠著「xdpi」和「ydpi」這兩個常數,分別代表著「每英吋的水平像素數」和「每英吋的垂直像素數」。

在求出 xdpi  和 ydpi 後,接著就是簡單的數學囉!四方形的對角線長度等於 「x 軸的平方 + y 軸的平方」再開根號,這樣就可以求出螢幕的真實尺寸,而這尺寸只是接近真實,並不等於裝置規格上的螢幕尺寸。

而以下為程式碼,若有需要再請拿走吧!

  1. private double getScreenInch()
  2. {
  3.   DisplayMetrics dm = new DisplayMetrics();
  4.   getWindowManager().getDefaultDisplay().getMetrics(dm);
  5.   double screenInches 0;
  6.   screenInches = Math.sqrt
  7.                  (
  8.                     Math.pow(dm.widthPixels/dm.xdpi,2)+ 
  9.                     Math.pow(dm.heightPixels/dm.ydpi,2)
  10.                  );
  11.   Log.d("debug","Screen inches : " + screenInches);
  12.   return screenInches;
  13. }