2012-02-02 15 views
19

これをいくつかのアクティビティクラスに入れると、それは完全に動作しますが、私がAppクラスに入れたときにはgetWindowManager()メソッドが見つかりません。 appクラスでWindowManagerを取得する方法はありますか?アプリケーションクラスの画面表示メトリックを取得する方法

マイアプリクラスは、このように定義されています

public class myApp extends Application { 

とメソッドを作成する上で

私はこれがあります。ここでは

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
int width = dm.widthPixels; 

答えて

54

Context.getResource()

DisplayMetrics dm = getResources().getDisplayMetrics(); 
int densityDpi = dm.densityDpi;
1

はこれを試してみてください。

Display display = getWindowManager().getDefaultDisplay(); 
Log.e("", "" + display.getHeight() + " " + display.getWidth()); 
+3

あなたはApplicationクラスにgetWindowManagerを得るcan't。 –

+1

自分の側が正常に動作しています –

+0

@NiteshKhoslaは、アプリケーションクラスにgetWindowManager()メソッドが含まれていることを示すどんなドキュメントも指摘できますか?私はここで見つけることができません: http://developer.android.com/reference/android/app/Application.html –

10

また、これを試すことができます。

WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); 
final DisplayMetrics displayMetrics = new DisplayMetrics(); 
wm.getDefaultDisplay().getMetrics(displayMetrics); 
int height = displayMetrics.heightPixels; 
int width = displayMetrics.widthPixels; 
0
final DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 

int width = dm.widthPixels; 
int height = dm.heightPixels; 

getWindow().setLayout((int) (width * .8), (int) (height * .5)); 
関連する問題