1

在我们调用之后,Android中有什么方法可以知道设备方向的变化setRequestedOrientation,我尝试了以下方法。

  1. getResources().getConfiguration().orientation
  2. OrientationEventListener
  3. Display getOrient = getWindowManager().getDefaultDisplay().getRotation();

但即使在更改设备方向后,上述所有方法都给出相同的值。
有人可以建议我们在打电话后找到设备方向变化的方法吗setRequestedOrientation

4

2 回答 2

3

可能是一种解决方法:从添加到当前上下文的 OrientationEventListener 处理 onOrientationChanged 度数。例如:

final OrientationEventListener orientationEventListener = new OrientationEventListener( getApplicationContext() ) {

    @Override
    public void onOrientationChanged( final int orientation ) {
        Log.i( "orientation_test", "orientation: " + orientation );
    }
};

orientationEventListener.enable();

例如,在 onResume 添加和启用它,在 Activity 的 onPause 禁用它。

于 2014-03-17T14:43:38.317 回答
-1

这应该有效:

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
    // Do something
else
    // Do something else
于 2013-08-06T11:24:59.133 回答