如何获得实际屏幕高度?

问题描述:

我试图让屏幕高度,低于总是给我一个752的如何获得实际屏幕高度?

DeviceScreenHeight - NavigationBarHeight - TitleBarHeight 

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

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

如果我使用onLayoutChange()获取垂直“match_parent”视图的高度,高度为696.这是我需要的值。

但我想知道如何动态获取这个值,这样我就可以在不同的设备上获得适当的“高度”。

尝试

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

其中上下文语境实例。

+0

感谢您的回复,但你的代码产生相同的结果作为我的代码。 – Wenshan 2012-02-14 03:17:04

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