Android - 检测反向横向

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

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

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

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

有人可以建议一个工作示例如何检测特定设备方向(在我的情况下是反向横向)以针对该方向使用其他布局吗?

最佳答案

使用 OrientationEventListener获取手机的方向。

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

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

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

关于Android - 检测反向横向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18052035/

相关文章:

java - 为什么我不需要导入 android "R"类?

android - 如何让asynctask正常工作

android - WebViewClient 类不适用于 android api 级别 15

java - Android Activity 方法使显示屏闪烁白色以发出警告通知

java - 来自 Fragment 内部适配器的 startActivityForResult

android 弃用相机类

java - Gradle 使用源中的类作为打包阶段的一部分

java - Android 不会根据不同的屏幕布局调整大小

java - 使用套接字发送 onPreviewFrame() byte[] 的正确方法

android - Mac OS Flutter 构建 appbundle 失败 : Invalid keystore format