「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(); } }