2011-09-21 254 views
2

我試圖讓Android的屏幕的寬度和高度,我有:Android,獲取屏幕寬度和高度?

DisplayMetrics displaymetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
stageWidth = displaymetrics.widthPixels; 
stageHeight = displaymetrics.heightPixels; 

的寬度是1280,但它與752

任何想法回來了嗎?

回答

4

試試這個:

Display display = getWindowManager().getDefaultDisplay(); 
stageWidth = display.getWidth(); 
stageHeight = display.getHeigth(); 

是,同樣的寬度是多少?你確定寬度是1280而不是752?你正在測試什麼設備,你獲得了多少高度?

+2

這些方法已被棄用。你應該使用:'getSize(Point outSize)' – DanielS

+0

@DanielS你是什麼意思由點超大?計算顯示器的高度時,該參數是什麼樣的? –

+0

outSize對象將包含顯示的大小(針對方向進行調整)。該文檔在這裏 - http://developer.android.com/reference/android/view/Display.html#getSize(android.graphics.Point) – DanielS

0

使用顯示對象上此方法(從文檔):

void getSize(Point outSize) - Returns the raw size of the display, in pixels.

+0

如何在我的代碼中使用它? – beans

+1

這是Display對象中的一種方法。只需創建一個新的點對象並將其傳遞給該方法即可。一旦它返回,它應該有適當的信息在裏面。在此發佈您的結果,並告訴我們是否成功。 – DanielS

0

旋轉屏幕和see.I認爲你會得到你的正確的屏幕尺寸。

上面的代碼與我一起工作,應該與你合作。