2012-01-13 105 views
1

我一直無法獲取Android的屏幕尺寸。我不希望包含在我的維度中的狀態欄的大小。我正在開發的應用程序將永久處於橫向模式。我一直在用android蜂窩模擬器進行測試。當我使用How can I get android Honeycomb system's screen width and height?中的代碼得到尺寸時,我得到1280x800。我很好奇,爲什麼鏈接問題中的人員減去了狀態欄的大小,而我的工作方式卻不行。另外,我怎樣才能使狀態欄的大小實際上減去?如果需要任何額外的細節,我會定期檢查以提供。謝謝!風景窗口尺寸Android

回答

1

好吧!我終於弄明白了。我將幾個不同來源的代碼拼湊在一起,所以我不清楚爲什麼事情會按照他們的方式進行。這是相關的代碼。

Rect rect = new Rect(); 
Window win = getWindow(); 
win.getDecorView().getWindowVisibleDisplayFrame(rect); 
screenWidth = Math.abs(rect.left-rect.right); 
screenHeight = Math.abs(rect.top-rect.bottom); 

雖然有一個警告。此代碼不會在onCreate()方法中工作。取而代之的是,將其放置在

public void onWindowFocusChanged (boolean hasFocus) 

這應該解決讓窗口尺寸的任何問題!

編輯:我相信這個解決方案也應該在縱向模式下工作。我還沒有測試過它。