2012-01-12 6 views
10

ウィンドウの高さと重さを取得する必要があります。
私は私のコードでこれを持っている:アンドロイドでウィンドウサイズを取得できませんでした:「メソッドのgetWindowManagerは未定義です」

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
width1 = metrics.widthPixels; 
height1 = metrics.heightPixels; 

が、私はエラーがあります:

The method getWindowManager is undefined

は、私はこのためにインポートする必要がありますか? または私はさまざまな方法でスクリードのサイズを取得できますか? 私は

import android.view.Display; 
import android.view.Window; 
import android.view.WindowManager; 
import android.content.Context; 
import android.util.DisplayMetrics; 

答えて

0

をインポートしたアクティビティクラスのメソッド、または外部のアクティビティの上呼び出しているかどうかを確認してください。

壁紙の場合、この方法はウィンドウの高さや幅を取得するのに役立たず、サーフェスを使用して使用可能なウィンドウの幅と高さを取得する必要があります。

+0

なしでの活動のContextを使用して、私はライブをやっています壁紙と私は壁紙のエンジンでこれを呼び出しています –

34

このコードはどこで使用していますか?

getWindowManagerのエラーは、クラスのルートにはそのメソッドが存在しないため、メソッドが見つかりません。

display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
display.getWidth(); // to get width of the screen 
display.getHeight(); // to get height of the Screen 

お楽しみ:これが動作しない場合は、あなたの活動この

3

使用を貼り付けてください

((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics); 

または

((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)) 
    .getDefaultDisplay().getMetrics(metrics); 

はこれを試してみてください。あなたはフラグメント内でそれを使用している場合には、例えば、これを使用することができ

+4

getHeight()は現在非難されています –

+0

@IgorG:あなたは私にそれが非難されていると言われているリンクを与えることはできますか? –

+0

http://developer.android.com/reference/android/view/Display.html –

1

:)):

getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics); 
1

getActivityContext()

DisplayMetrics metrics = new DisplayMetrics(); 
getActivityContext().getWindowManager().getDefaultDisplay().getMetrics(metrics); 
width1 = metrics.widthPixels; 
height1 = metrics.heightPixels; 
関連する問題