Android - 检测反向横向

kea*_*ine 4 android screen-orientation android-layout android-camera

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

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

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

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

Aus*_*ney 5

使用 anOrientationEventListener获取以手机度数为单位的方向。

一旦你创建了一个监听器并调用enable(),onOrientationChanged(int)每当手机的方向改变时都会被调用。

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

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