我正在支持我的Android應用中的多種屏幕尺寸,我需要知道設備的物理屏幕尺寸。在索尼愛立信X10上計算物理屏幕尺寸? (它出現1.5倍太大)
在索尼愛立信X10上,我正在查詢物理屏幕分辨率和密度,並試圖計算屏幕尺寸(分辨率/密度=尺寸),但結果約爲實際尺寸的1.5倍!
下面的代碼:
DisplayMetrics metrics = c.getResources().getDisplayMetrics();
mPhysicalScreenWidth = metrics.widthPixels/metrics.xdpi;
mPhysicalScreenHeight = metrics.heightPixels/metrics.ydpi;
Log.d(TAG, "DisplayMetrics: widthPixels=" + metrics.widthPixels + " xdpi=" + metrics.xdpi +
" heightPixels=" + metrics.heightPixels + " ydpi=" + metrics.ydpi);
Log.d(TAG, "Physical screen width=" + mPhysicalScreenWidth + "\", height=" + mPhysicalScreenHeight + "\"");
日誌中的輸出:
DisplayMetrics: widthPixels=480 xdpi=160.41878 heightPixels=854 ydpi=159.49677
Physical screen width=2.9921684", height=5.3543406"
該實際尺寸僅是2" (寬)×3.5" (高)!?
我做錯了什麼?
我正在使用Android 1.6 SDK,並且已將清單中的所有< supports-screens>屬性設置爲true。
這款手機在屏幕的實際dpi是240不知道爲什麼它雖然被返回160。 – 2011-01-31 20:38:10