私はAndroidアプリで複数の画面サイズをサポートするために取り組んでおり、デバイスの物理的な画面サイズを知る必要があります。Sony Ericsson X10の物理的な画面サイズを計算していますか?
Sony Ericsson 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を使用していますが、マニフェスト内の< support-screens>属性をすべてtrueに設定しました。
この電話機の画面の実際のdpiは240です。なぜそれが160として返されるのかわかりません。 –
"scaledDensity"パラメータと関係がありますか?違いを報告すると、正確に1.5です。私はまた240を報告する "densityDpi"パラメータを見つけました。 –
あなたはこの問題の解決策を見つけましたか? – Nik