facebook twitter hatena line email

「Android/画面サイズ」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
行11: 行11:
  
 
  // 画面幅サイズ(ステータスバーを含む)
 
  // 画面幅サイズ(ステータスバーを含む)
Point point = new Point();
+
 
// Android 4.2~
+
 
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
 
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
 +
    // Android 4.2~
 
     try {
 
     try {
    Method getRealSize = Display.class.getMethod("getRealSize", Point.class);
+
        Method getRealSize = Display.class.getMethod("getRealSize", Point.class);
    getRealSize.invoke(display, point);
+
        getRealSize.invoke(display, point);
    Log.i("test", "width=" + point.x);
+
        Log.i("test", "width=" + point.x);
    Log.i("test", "height=" + point.y);
+
        Log.i("test", "height=" + point.y);
 
     } catch (Exception e) {
 
     } catch (Exception e) {
                e.printStackTrace();
+
        e.printStackTrace();
 
     }
 
     }
 
  } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
 
  } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
            // Android 3.2~
+
    // Android 3.2~
            try {
+
    try {
                Method getRawWidth = Display.class.getMethod("getRawWidth");
+
        Method getRawWidth = Display.class.getMethod("getRawWidth");
                Method getRawHeight = Display.class.getMethod("getRawHeight");
+
        Method getRawHeight = Display.class.getMethod("getRawHeight");
                int width = (Integer) getRawWidth.invoke(display);
+
        int width = (Integer) getRawWidth.invoke(display);
                int height = (Integer) getRawHeight.invoke(display);
+
        int height = (Integer) getRawHeight.invoke(display);
                point.set(width, height);
+
        point.set(width, height);
                return point;
+
        Log.i("test", "width=" + point.x);
            } catch (Exception e) {
+
        Log.i("test", "height=" + point.y);
                e.printStackTrace();
+
    } catch (Exception e) {
            }
+
        e.printStackTrace();
 +
    }
 
  }
 
  }

2016年11月4日 (金) 18:40時点における版

// 画面幅サイズ(ステータスバーを含まない)
Point point = new Point();
// Android 3.2~
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
    WindowManager wm = (WindowManager) context.getSystemService(WINDOW_SERVICE);
    Display disp = wm.getDefaultDisplay();
    disp.getSize(point);
}
Log.i("test", "x=" + point.x);
Log.i("test", "y=" + point.y);
// 画面幅サイズ(ステータスバーを含む)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
    // Android 4.2~
    try {
        Method getRealSize = Display.class.getMethod("getRealSize", Point.class);
        getRealSize.invoke(display, point);
        Log.i("test", "width=" + point.x);
        Log.i("test", "height=" + point.y);
    } catch (Exception e) {
        e.printStackTrace();
    }
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
    // Android 3.2~
    try {
        Method getRawWidth = Display.class.getMethod("getRawWidth");
        Method getRawHeight = Display.class.getMethod("getRawHeight");
        int width = (Integer) getRawWidth.invoke(display);
        int height = (Integer) getRawHeight.invoke(display);
        point.set(width, height);
        Log.i("test", "width=" + point.x);
        Log.i("test", "height=" + point.y);
    } catch (Exception e) {
        e.printStackTrace();
    }
}