【发布时间】:2013-04-22 06:04:18
【问题描述】:
我的屏幕尺寸为 600(宽)x 1024(高)。我得到当前宽度 600 但错误地得到高度 976(没有旋转屏幕)。我得到当前宽度 1024 但错误得到高度 552(旋转屏幕)。
int rowPixelWidth = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth();
int rowWidth = (int)Math.floor(rowPixelWidth / this.getResources().getDisplayMetrics().density);
int rowPixelheight = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getHeight();
int rowheight = (int)Math.floor(rowPixelheight / this.getResources().getDisplayMetrics().density);
Log.d("rowWidth","rowWidth"+rowWidth);
Log.d("rowheight","rowheight"+rowheight);
-------------------------------------------------------------
<uses-sdk
android:minSdkVersion="3"
android:targetSdkVersion="8" />
<supports-screens android:anyDensity="true"/>
-------------------------------------------------------------
这段代码有什么问题?
以下是典型屏幕宽度的一些数字:
- 320dp:典型的手机屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。
- 480dp:类似于 Streak (480x800 mdpi) 的补间平板电脑。
- 600dp:7 英寸平板电脑 (600x1024 mdpi)。
- 720dp:10 英寸平板电脑(720x1280 mdpi、800x1280 mdpi 等)。
我得到了当前宽度,但没有得到所有设备的当前高度(没有(320x480 屏幕)。
我尝试来自Get screen dimensions in pixels 的代码,但同样出现问题。
【问题讨论】:
-
您的代码是正确的。一些设备从可用的屏幕分辨率中减去以前的硬件键(现在是显示屏上的触摸按钮)的屏幕区域。
-
我只获得了 320(width)x480(height) 屏幕的当前宽度和高度,但没有获得另一个屏幕的当前宽度和高度。
-
为什么这是个问题?
-
my true all button margin setting in 320x480 but not get this setting another screen.
标签: android screen-orientation