private int getScreenOrientation() { int rotation = getWindowManager().getDefaultDisplay().getRotation(); DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int width = dm.widthPixels; int height = dm.heightPixels; int orientation; // if the device's natural orientation is portrait: if ((rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180) && height > width || (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270) && width > height) { switch (rotation) { case Surface.ROTATION_0: case Surface.ROTATION_180: orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; break; case Surface.ROTATION_90: case Surface.ROTATION_270: orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; break; default: Utils.logDebug(TAG, "Unknown screen orientation. Defaulting to portrait."); orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; break; } } else { // if the device's natural orientation is landscape or if the device // is square: switch (rotation) { case Surface.ROTATION_0: case Surface.ROTATION_180: orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; break; case Surface.ROTATION_90: case Surface.ROTATION_270: orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; break; default: Utils.logDebug(TAG, "Unknown screen orientation. Defaulting to portrait."); orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; break; } } return orientation; }
среда, 20 февраля 2013 г.
Android: How to get current screen orientation?
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий