【发布时间】:2014-04-03 20:23:27
【问题描述】:
我试图模仿 YouTube Android 应用在视频播放器中单击“全屏”按钮时的行为:
- 如果设备当前处于纵向,则立即旋转到横向(即使用户仍以纵向方式握住设备)并保持横向,直到用户将设备旋转到横向,然后再旋转回纵向
- 如果设备当前处于横向状态,请立即旋转为纵向(即使用户仍以纵向方式握住设备)并保持纵向,直到用户将设备旋转为纵向,然后再旋转回横向。
- 允许用户随时将设备手动旋转到所需方向。
似乎如果我强制旋转为横向或纵向使用:
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
或
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
...我立即失去了检测传感器方向变化的能力(即,一旦用户处于横向状态,并且他们想要手动将设备旋转回纵向)。
如果我将请求的方向更改为未指定或 onConfigurationChanged 中的传感器,则方向会短暂翻转为横向/纵向(无论我从上面请求什么),然后快速恢复到与设备握持方式相匹配的方向。
对如何实现上述目标有任何想法吗?
【问题讨论】:
标签: android