「Android/画面サイズ」の版間の差分
提供: 初心者エンジニアの簡易メモ
| 行20: | 行20: | ||
Log.i("test", "height=" + point.y); | Log.i("test", "height=" + point.y); | ||
} catch (Exception e) { | } 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); | ||
| + | return point; | ||
| + | } catch (Exception e) { | ||
| + | e.printStackTrace(); | ||
| + | } | ||
} | } | ||
2016年11月4日 (金) 18:37時点における版
// 画面幅サイズ(ステータスバーを含まない)
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);
// 画面幅サイズ(ステータスバーを含む)
Point point = new Point();
// Android 4.2~
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
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);
return point;
} catch (Exception e) {
e.printStackTrace();
}
}
