2012-02-10 10 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

-1

THISは、私はあなたの返事をこの

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

あなたの返事に感謝しますが、あなたが書いたことは私がしたのと同じです。私が欲しいのは、device_height-title_hight-navigation_bar_heightです。この場合、動作しません。 – Wenshan

関連する問題