5
我试图模仿YouTube Android应用程序的行为被点击视频播放器的“全屏”按钮时:切换全屏模式和方向,如YouTube
- 如果设备是目前在肖像,马上旋转风景(即使用户仍然握住设备以纵向拍摄)并保持在风景中,直到用户将设备旋转到风景然后旋转回人像
- 如果设备当前处于风景中,立即旋转为纵向(即使用户仍然将设备保持纵向)并保持纵向直到用户将设备旋转到纵向然后再旋转到t o风景。
- 在任何时候,允许用户手动将他们的设备旋转到所需的方向。
看来,如果我强迫旋转到横向或纵向使用:
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
或
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
...我立即失去检测传感器方向的能力改变(即,一旦用户处于风景中,并且他们想要手动将设备旋转回肖像)。
如果我在onConfigurationChanged中将要求的方向更改为未指定或传感器,则方向短暂地翻转为横向/纵向(无论我上面要求),然后捕捉到与设备握持方式相匹配的方向。
有关如何实现上述目标的任何想法?
这应该是选定的答案。也可以做Math.abs(a - b)<ε清晰度 –
非常感谢。这个对我有用 – BalaramNayak