我需要检测反向横向方向,以防止用户开始捕捉垂直视频。
我在layout-land
和layout-port
个文件夹中使用不同的控件集实现了2个布局。问题是Android不允许我专门为反向横向创建单独的布局。我需要这个,因为在这种情况下录制的视频是颠倒的,尽管UI显示正确。
如果我将设备从0方向旋转到180方向,Android甚至不会调用我的活动的onCreate()
,但在这种情况下视频会被翻转。
有人可以建议一个工作示例,如何检测某些设备方向(在我的情况下是反向横向),以便为此方向使用另一种布局?
答案 0 :(得分:4)
使用OrientationEventListener
获取手机的度数方向。
创建听众并致电enable()
后,只要手机的方向发生变化,就会调用onOrientationChanged(int)
。
然后,您可以检查它是否超出您希望手机进入的范围。
不要忘记使用SENSOR_DELAY_NORMAL
作为费率。这样,只有在您真正关心的方向更改发生时才会调用它,而不是在用户处理手机时通常会发生的微小更改。