我在android 4.2上遇到了问题。我试图找出,如果屏幕是横向或纵向。我知道以下方法:
这完全有效,除了它在API等级8之后折旧
Display display = ((WindowManager)
getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int orientation = display.getOrientation();
这是在android 4.2上计算方向的首选方法。但是,此方法仅返回旋转度,而不正确用于确定当前设备配置(横向或方向)
WindowManager wManager = (WindowManager) getSystemService(WINDOW_SERVICE);
int rotation = wManager.getDefaultDisplay().getRotation();
无论设备的默认方向如何,我都需要知道当前的旋转(横向或纵向)。我很感激你对此事的任何帮助。
谢谢。
答案 0 :(得分:1)
您可以尝试:
int orientation = getResources().getConfiguration().orientation;
if (orientation == Configuration.ORIENTATION_LANDSCAPE)
{
// code
} else if (orientation == Configuration.ORIENTATION_PORTRAIT)
{
// code
}
答案 1 :(得分:1)
这应该有用......
Activity.getResources().getConfiguration().orientation
它会告诉您它的横向或纵向,但不会区分反向(即反向横向)。
您还可以覆盖onConfigurationChanged方法
public void onConfigurationChanged(Configuration _newConfig)