2012-02-10 88 views
2

我試圖讓屏幕高度,低於總是給我一個752的如何獲得實際屏幕高度?

DeviceScreenHeight - NavigationBarHeight - TitleBarHeight 

的代碼,但真正的屏幕高度是800

DisplayMetrics metrics = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(metrics); 
    mHeight = metrics.heightPixels; 

如果我使用onLayoutChange()獲取垂直「match_parent」視圖的高度,高度爲696.這是我需要的值。

但我想知道如何動態獲取這個值,這樣我就可以在不同的設備上獲得適當的「高度」。

回答

0

嘗試

mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); 
int displayHeight = mWinMgr.getDefaultDisplay().getHeight(); 

其中上下文語境實例。

+0

感謝您的回覆,但你的代碼產生相同的結果作爲我的代碼。 – Wenshan 2012-02-14 03:17:04

-1

THIS我是覺得用這個

DisplayMetrics metrics = getBaseContext().getResources().getDisplayMetrics();   
    int w = metrics.widthPixels; 
    int h = metrics.heightPixels; 
+0

謝謝你的回覆,但是你寫的和我一樣。我想要的是device_height-title_hight-navigation_bar_height,在這種情況下,它不起作用。 – Wenshan 2012-02-14 03:16:42

相關問題