我有一个视频播放器,我有两个功能:
如果禁用了自动旋转功能,并且当用户点击全屏按钮时,我会强制orientation
使用landscape
进入setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)
视图并返回纵向视图退出全屏。
我已覆盖onConfigurationChanged
以检测用户启用自动旋转功能时的方向更改,并根据方向更改活动视图。
现在,此设置的问题在于,如果用户启动活动并进入全屏状态并且setRequestedOrientation
被调用一次,稍后启用auto-rotate
时,活动就不会收到方向更改, <{1}}没有被调用。
我在这里(https://stackoverflow.com/a/6109206/5167868)读到他们不会同时工作。
我想知道是否有一种方法可以实现这两种方式,因为我看到像onConfigurationChanged
这样的玩家在他们的应用中执行此操作。
答案 0 :(得分:2)
使用setRequestedOrientation()
修正屏幕方向后,自动旋转功能无法正常工作。所以要做到这一点,你可以这样做:
使用以下方式设置方向后:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)
请致电:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
这将使自动旋转再次起作用!