相关疑难解决方法(0)

像YouTube一样切换全屏和方向

我想在视频播放器中点击"全屏"按钮时模仿YouTube Android应用的行为:

  • 如果设备当前处于纵向状态,请立即旋转至横向(即使用户仍在纵向按住设备)并保持横向状态,直到用户将设备旋转到横向然后再旋转回纵向
    • 如果设备当前处于横向状态,请立即旋转为纵向(即使用户仍在纵向按住设备)并保持纵向,直到用户将设备旋转为纵向,然后再旋转回横向.
    • 在任何时候,允许用户手动将其设备旋转到所需的方向.

似乎如果我使用以下方法强制旋转横向或纵向:

getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)

要么

getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)

...我立即失去了检测传感器方向变化的能力(即一旦用户处于风景中,他们想要手动将设备旋转回肖像).

如果我在onConfigurationChanged中将请求的方向更改为未指定的方向或传感器,则方向会暂时翻转为横向/纵向(无论我从上方请求),然后快速回到与设备保持方式相匹配的方向.

关于如何实现上述目标的任何想法?

android

8
推荐指数
2
解决办法
2320
查看次数

标签 统计

android ×1