0

我在 android 4.2 上遇到问题。我试图弄清楚屏幕是横向还是纵向。我知道以下方法可以做到这一点:

  1. 这很好用,只是它在 API 级别 8 之后被贬值

    Display display = ((WindowManager) 
                  getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
    int orientation = display.getOrientation();
    
  2. 这是在 android 4.2 上确定方向的首选方法。但是,此方法仅返回旋转度数,并且对于确定当前设备配置(横向或方向)不正确

    WindowManager wManager = (WindowManager) getSystemService(WINDOW_SERVICE);
    int rotation = wManager.getDefaultDisplay().getRotation();
    

无论设备的默认方向如何,我都需要知道当前的旋转是什么(横向或纵向)。对于此事,我将不胜感激。

谢谢你。

4

2 回答 2

1

你可以试试:

int orientation = getResources().getConfiguration().orientation;

if (orientation == Configuration.ORIENTATION_LANDSCAPE)
{
// code
} else if (orientation == Configuration.ORIENTATION_PORTRAIT)
{
// code
}
于 2013-04-09T18:52:38.813 回答
1

这应该工作...

   Activity.getResources().getConfiguration().orientation

它会告诉您是横向还是纵向,但不会区分反向(即反向横向)。

您还可以覆盖 onConfigurationChanged 方法

public void onConfigurationChanged(Configuration _newConfig)
于 2013-04-09T18:53:40.803 回答