現在Androidでゲーム製作をしております。画面内にランダムでアイテムを発生させたいのですが端末毎の画面サイズをプログラム内で取得することは可能なのでしょうか?
また、その方法もご教授いただければと思います。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
AndroidAPI13以降なら以下のコードで縦横のサイズを取得することが出来ます。
```lang-<ここに言語を入力>
WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
// ディスプレイのインスタンス生成
Display disp = wm.getDefaultDisplay();
Point size = new Point();
disp.getSize(size);
String width = "Width = " + size.x;
String height = "Height = " + size.y;
それ以外にもステータスバーやアクションバーなどをのぞいたViewのサイズの取得なども行えるので調べてみてはいかがでしょうか?
投稿2014/09/26 07:30
総合スコア72
0
Pointでも取得できますが、以下のようにDisplayMetricsを使用するとさまざまなディスプレイ情報を取得できます。
lang
1WindowManager wm = getWindowManager(); 2Display display = wm.getDefaultDisplay(); 3DisplayMetrics displayMetrics = new DisplayMetrics(); 4display.getMetrics(displayMetrics); 5 6int x = displayMetrics.widthPixels 7int y = displayMetrics.heightPixels
●DisplayMetricsでは以下の値が取得できます。
・density :ディスプレイの論理的な密度
・densityDpi :インチ当たりのドット数で表した画面の密度
・heightPixels :ピクセルのディスプレイの絶対的な高さ
・scaledDensity : ディスプレイに表示されるフォントのスケーリングファクター
・widthPixels : ピクセルのディスプレイの絶対的な幅
・xdpi : X次元の画面の1インチあたりの正確な物理的なピクセル数
・ydpi : Y次元の画面の1インチあたりの正確な物理的なピクセル数
投稿2014/10/01 02:31
総合スコア13
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。