我的屏幕尺寸为 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 屏幕)。
我尝试以像素为单位获取屏幕尺寸的代码,但同样会出现问题。