最終更新:
moonlight_aska 2014年12月13日(土) 10:53:09履歴
端末のディスプレイ情報を取得するには, Displayクラスを使用する.

- src/MainActivity.java
- Activity#getWindowManagerメソッドで, WindowManagerのインスタンスを取得する.
- WindowManager#getDefaultDisplayメソッドで, Displayのインスタンスを取得する.
- DisplayMetricsのインスタンスを生成する.
- Display#getMetricsメソッドで, ディスプレイ情報を取得する.
widthPixels | 画面の横幅(ピクセル数) | |
heightPixels | 画面の縦幅(ピクセル数) | |
xdpi | 横方向のレゾリューション(DPI) | |
ydpi | 縦方向のレゾリューション(DPI) | |
density | 論理密度 | 160dpiを基準とした比率 |
densityDpi | スクリーン密度 | |
scaledDensity | スケール密度 |
package com.moonlight_aska.android.displayinfo01;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView info = (TextView)findViewById(R.id.info_id);
// WindowManagerのインスタンス取得
WindowManager manager = getWindowManager();
// Displayのインスタンス取得
Display display = manager.getDefaultDisplay();
// DisplayMetricsのインスタンス生成
DisplayMetrics metrics = new DisplayMetrics();
// ディスプレイ情報の取得
display.getMetrics(metrics);
String str = "WidthPixels = " + metrics.widthPixels + "\n";
str += "HeightPixels = " + metrics.heightPixels + "\n";
str += "Xdpi = " + metrics.xdpi + "\n";
str += "Ydpi = " + metrics.ydpi + "\n";
str += "Density = " + metrics.density + "\n";
str += "DensityDpi = " + metrics.densityDpi + "\n";
str += "ScaledDensity = " + metrics.scaledDensity + "\n";
info.setText(str);
}
}

コメントをかく