Android - 检测反向横向
Posted
技术标签:
【中文标题】Android - 检测反向横向【英文标题】:Android - detect reverse landscape orientation 【发布时间】:2013-08-05 19:09:46 【问题描述】:我需要检测反向横向,以防止用户开始拍摄垂直视频。
我在 layout-land
和 layout-port
文件夹中实现了 2 种布局,它们具有不同的控件集。问题是 android 不允许我专门为反向景观创建单独的布局。我需要这个,因为在这种情况下,视频是倒置录制的,尽管 UI 显示正确。
如果我将设备从 0 方向旋转到 180 方向,Android 甚至不会调用我的活动的onCreate()
,但在这种情况下视频会翻转。
有人可以建议一个工作示例如何检测某些设备方向(在我的情况下为反向横向)以使用该方向的另一种布局吗?
【问题讨论】:
【参考方案1】:使用OrientationEventListener
获取手机的方向。
一旦你创建了一个监听器并调用enable()
,只要手机的方向改变,onOrientationChanged(int)
就会被调用。
然后您可以检查它是否超出了您希望手机进入的范围。
不要忘记使用SENSOR_DELAY_NORMAL
作为您的费率。这样,它只会在您真正关心的方向变化发生时调用,而不是在用户处理手机时通常发生的小变化。
【讨论】:
Sensor.SENSOR_DELAY_NORMAL
将自动应用于OrientationEventListener(context)
: ***.com/questions/67099521/…以上是关于Android - 检测反向横向的主要内容,如果未能解决你的问题,请参考以下文章
Android:如何在设置图像视图时检测从图库中选择的图像方向(纵向或横向)?