2009-09-16 11 views
5

こんにちは私はAndroidアプリケーションのカスタムビューを作成する際に問題があります。私のカスタムビューは、最大画面幅が許可されている場合に使用します。私はこの値を取得する方法を見つけることができませんでした。デバイスの最大幅と高さをandroidで取得するには

誰かが正しい方法を教えてくれますか?

答えて

13

は、コンテキストがContextインスタンスである

mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); 
int displayWidth = mWinMgr.getDefaultDisplay().getWidth(); 

を試してみてください。

デフォルトでは、レイアウトが保存されているFrameLayoutは、ディスプレイ全体を水平に塗りつぶします(垂直方向のステータスバーを使用できます)。したがって、android:layout_width="fill_parent"を正しく使用して、最大幅を設定することができます。

mWinMgr.getDefaultDisplay().getWidth(); //のgetWidth()とのgetHeight()メソッドは、現在

を廃止され、次のようにあなたは、幅と高さを得ることができます:ここで

2

good answerある original

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 
1
DisplayMetrics size = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(size); 
     int w = size .widthPixels; 
     int h = size .heightPixels; 
1
WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE); 
DisplayMetrics dm = new DisplayMetrics(); 
window.getDefaultDisplay().getMetrics(dm);   

devicewidth = (dm.widthPixels);

関連する問題