Android - 检测反向横向方向

时间:2013-08-05 06:45:31

标签: android android-layout android-camera screen-orientation

我需要检测反向横向方向,以防止用户开始捕捉垂直视频。

我在layout-landlayout-port个文件夹中使用不同的控件集实现了2个布局。问题是Android不允许我专门为反向横向创建单独的布局。我需要这个,因为在这种情况下录制的视频是颠倒的,尽管UI显示正确。

如果我将设备从0方向旋转​​到180方向,Android甚至不会调用我的活动的onCreate(),但在这种情况下视频会被翻转。

有人可以建议一个工作示例,如何检测某些设备方向(在我的情况下是反向横向),以便为此方向使用另一种布局?

1 个答案:

答案 0 :(得分:4)

使用OrientationEventListener获取手机的度数方向。

创建听众并致电enable()后,只要手机的方向发生变化,就会调用onOrientationChanged(int)

然后,您可以检查它是否超出您希望手机进入的范围。

不要忘记使用SENSOR_DELAY_NORMAL作为费率。这样,只有在您真正关心的方向更改发生时才会调用它,而不是在用户处理手机时通常会发生的微小更改。