質問: 現在Androidでゲーム製作をしております。画面内にランダムでアイテムを発生させたいのですが端末毎の画面サイズをプログラム内で取得することは可能なのでしょうか? また、その方法もご教授いただければと思います。 よろしくお願いいたします。
回答: Pointでも取得できますが、以下のようにDisplayMetricsを使用するとさまざまなディスプレイ情報を取得できます。 ``` WindowManager wm = getWindowManager(); Display display = wm.getDefaultDisplay(); DisplayMetrics displayMetrics = new DisplayMetrics(); display.getMetrics(displayMetrics); int x = displayMetrics.widthPixels int y = displayMetrics.heightPixels ``` ●DisplayMetricsでは以下の値が取得できます。 ・density :ディスプレイの論理的な密度 ・densityDpi :インチ当たりのドット数で表した画面の密度 ・heightPixels :ピクセルのディスプレイの絶対的な高さ ・scaledDensity : ディスプレイに表示されるフォントのスケーリングファクター ・widthPixels : ピクセルのディスプレイの絶対的な幅 ・xdpi : X次元の画面の1インチあたりの正確な物理的なピクセル数 ・ydpi : Y次元の画面の1インチあたりの正確な物理的なピクセル数