我有600(宽)x 1024(高)的屏幕尺寸。我得到当前宽度600,但错误地获得高度976(没有旋转屏幕)。我得到当前宽度1024,但错误获得高度552(旋转屏幕)。Android中显示宽度和高度错误
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:典型手机屏幕(240×320 LDPI,MDPI分辨率320x480,480x800的华电国际等)。
- 480dp:像Streak(480x800 mdpi)这样的Tweener平板电脑。
- 600dp:7英寸平板电脑(600x1024 mdpi)。
- 720dp:10“平板电脑(720x1280 mdpi,800x1280 mdpi等)。
我得到当前的宽度,但对所有设备(不包括(小320x480屏)无法获得当前高度。
我尝试代码Get screen dimensions in pixels但同样会出现问题。
您的代码是正确的。某些设备从可用的屏幕分辨率中减去以前的硬件按键的屏幕区域,这些按键现在是显示屏上的触摸按键。 – 2013-04-22 06:08:38
我得到当前的宽度和高度只有320(宽)×480(高)屏幕,但没有得到当前的宽度和高度的另一个屏幕。 – AnilPatel 2013-04-24 09:46:01
为什么这是一个问题? – 2013-04-24 09:51:23