画面解像度などディスプレイの情報を取得する方法

画面の情報を取得するにはDisplayクラスを使用します。
Displayクラスを使用することで次の情報を得ることができます。

widthPixels(width)
heightPixels(height)
xdpi
ydpi
density
scaledDensity
orientation
refreshRate
pixelFormat
などを得ることができます。

注意
ここで得られる画面解像度は画面の表示領域全てのためタイトルバーやステータスバーを含みます。

[参考記事] ステータスバーの高さを取得する方法
[参考記事] タイトルバーやステータスバーを非表示にする方法

Display クラス、WindowManagerクラスを呼び出します。

Activity 直下であれば

WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);

Log.v("widthPixels",    String.valueOf(displayMetrics.widthPixels));
Log.v("heightPixels",   String.valueOf(displayMetrics.heightPixels));
Log.v("xdpi",           String.valueOf(displayMetrics.xdpi));
Log.v("ydpi",           String.valueOf(displayMetrics.ydpi));
Log.v("density",        String.valueOf(displayMetrics.density));
Log.v("scaledDensity",  String.valueOf(displayMetrics.scaledDensity));

Log.v("width",          String.valueOf(display.getWidth()));       // 非推奨
Log.v("height",         String.valueOf(display.getHeight()));      // 非推奨
Log.v("orientation",    String.valueOf(display.getOrientation())); // 非推奨
Log.v("refreshRate",    String.valueOf(display.getRefreshRate()));
Log.v("pixelFormat",    String.valueOf(display.getPixelFormat()));
Log.v("rotation",       String.valueOf(display.getRotation()));

Activity 直下以外であれば

WindowManager wm = (WindowManager)this.getContext().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);

Log.v("widthPixels",    String.valueOf(displayMetrics.widthPixels));
Log.v("heightPixels",   String.valueOf(displayMetrics.heightPixels));
Log.v("xdpi",           String.valueOf(displayMetrics.xdpi));
Log.v("ydpi",           String.valueOf(displayMetrics.ydpi));
Log.v("density",        String.valueOf(displayMetrics.density));
Log.v("scaledDensity",  String.valueOf(displayMetrics.scaledDensity));

Log.v("width",          String.valueOf(display.getWidth()));       // 非推奨
Log.v("height",         String.valueOf(display.getHeight()));      // 非推奨
Log.v("orientation",    String.valueOf(display.getOrientation())); // 非推奨
Log.v("refreshRate",    String.valueOf(display.getRefreshRate()));
Log.v("pixelFormat",    String.valueOf(display.getPixelFormat()));
Log.v("rotation",       String.valueOf(display.getRotation()));

関連記事

スポンサーリンク

管理画面の構成一覧

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る