0

我想听听活动中的方向变化。我尝试了一些通常的事情,

  • onConfigurationChangeandroid:configChanges在清单中的元素中具有方向,
  • 没有重新启动活动,(用断点证明),所以getWindowManager().getDefaultDisplay().getRotation()除非我在我的绘图线程中不断检查它,否则我无法在旋转后检查它,这很浪费。
  • 我可以使用OrientationEventListener,但手机的每度变化都会调用它,这(imo)也是浪费的。

我试图检测与 LandscapeLeft 和 LandscapeRight 的区别。在这一点上,我不确定如何处理它。

4

1 回答 1

2

我不相信OrientationEventListener一定会告诉你屏幕的方向是否已经改变,因为它只返回度数。

使用getWindowManager().getDefaultDisplay().getRotation()可能是要走的路,但您必须知道设备的默认方向,因为这只会告诉您基于默认值的旋转。

有一篇不错的博客,介绍了使用具有方向变化和坐标系的各种传感器

于 2013-05-17T12:46:08.563 回答