Goodroid

GoodroidはAndroidアプリ開発のための情報をコラムやブログで紹介するサイトです。


画面サイズを取得する
ここでは画面サイズを取得方法を確認していきます。

画面の情報は「 DisplayMetrics 」クラスから取得します。
取得できるフィールドは以下の表の通りです。

Fields
public float density ディスプレイの論理密度
public int densityDpi ドット/インチで表した画面密度
public float scaledDensity ディスプレイに表示されるフォントの倍率
public int widthPixels ディスプレイの絶対的な幅(px)
public int heightPixels ディスプレイの絶対的な高さ(px)
public float xdpi 画面のx軸方向に対しての物理的なピクセル/インチ
public float ydpi 画面のy軸方向に対しての物理的なピクセル/インチ

ScreenSizeActivity.java
package goodroid.sample.screensize;

import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;

public class ScreenSizeActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        WindowManager wm = getWindowManager();
        Display display = wm.getDefaultDisplay();
        DisplayMetrics metrics = new DisplayMetrics();
        display.getMetrics(metrics);
        setContentView(R.layout.main);

        Log.d("DISPLAY", "density:" + metrics.density);
        Log.d("DISPLAY", "densityDpi:" + metrics.densityDpi);
        Log.d("DISPLAY", "scaledDensity:" + metrics.scaledDensity);
        Log.d("DISPLAY", "widthPixels:" + metrics.widthPixels);
        Log.d("DISPLAY", "heightPixels:" + metrics.heightPixels);
        Log.d("DISPLAY", "xdpi:" + metrics.xdpi);
        Log.d("DISPLAY", "ydpi:" + metrics.ydpi);

    }
}


サンプルはWVGA800のエミュレータでの実行結果になります。

実行結果

4045 views | コメント:0 | 2012-06-14
コメント
まだこの記事にコメントはありません
コメントの投稿
名前 (必須)

メールアドレス (非公開)

本文(必須)

パスワード (必須)
(半角数字4桁)