C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

端末の画面サイズを取得するには, Displayクラスを使用する.
注) 取得できる画面サイズは, タイトルバー及びステータスバーを含んだものである.

Activity継承クラスの場合

  • DisplaySize.java
    • getSystemServiceメソッドで, WINDOW_SERVICEを指定してWindowManagerのインスタンスを取得する.
    • WindowManager#getDefaultDisplayメソッドで, Displayクラスのインスタンスを取得する.
    • Display#getWidth/getHeightメソッドで, 画面サイズ情報を取得する.
package com.moonlight_aska.android.displaysize;

import android.app.Activity;
import android.os.Bundle;
import android.view.Display;
import android.view.WindowManager;
import android.widget.TextView;

public class DisplaySize extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView txWidth = (TextView)findViewById(R.id.width_id);
    TextView txHeight = (TextView)findViewById(R.id.height_id);
    // WindowManagerのインスタンス取得
    WindowManager wm = getWindowManager();
    // Displayのインスタンス取得
    Display disp = wm.getDefaultDisplay();
    String width = "Width = " + disp.getWidth();
    String height = "Height = " + disp.getHeight();
    txWidth.setText(width);
    txHeight.setText(height);
  }
}

注) API Level 13以降は, Display#getSizeメソッドを使用するように変更となった.
    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継承クラスの場合

WindowsManagerのインスタンス取得に, View#getContextメソッドを使用する.
注) API Level 13以降は, Display#getSizeメソッドを使用するように変更となった.

WindowManager wm = (WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);
Display disp = wm.getDefaultDisplay();
int width = disp.getWidth();
int height = disp.getHeight();



このページへのコメント

プログラム製作の参考にさせていただきました。
どうもありがとう

Posted by 名無し 2015年04月23日(木) 15:42:52

確かに... 修正しました.
ご指摘ありがとうございました.

Posted by aska 2012年08月30日(木) 23:12:07

View継承クラスの場合のサンプルコード、括弧が多いですよー。
参考にさせていただいたのでお礼代わりに(笑)

Posted by 通りすがりの開発者 2012年08月30日(木) 11:20:38

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

AD



管理人のみ編集できます