我有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