【发布时间】:2017-02-17 12:24:43
【问题描述】:
我有一个视频播放器,其中有两个功能:
如果禁用自动旋转并且当用户单击全屏按钮时,我会强制
orientation使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)进入landscape视图,并在退出全屏时返回纵向视图。我已覆盖
onConfigurationChanged以检测用户启用自动旋转功能时方向的变化,并根据方向更改活动视图。
现在这个设置的问题是,如果用户启动活动并进入全屏状态并且setRequestedOrientation 被调用一次,稍后当auto-rotate 启用时,活动不会接收到方向更改并且onConfigurationChanged不会被调用。
我在这里 (https://stackoverflow.com/a/6109206/5167868) 读到它们不会同时工作。
我想知道是否有办法实现两者,因为我看到像 MX Player 这样的玩家在他们的应用中这样做。
【问题讨论】:
-
这可能是因为您在退出全屏后强制纵向。尝试不设置纵向,而是设置自动方向:
SCREEN_ORIENTATION_SENSOR -
但如果禁用自动旋转,我希望它处于纵向。
-
对不起,我之前没有说清楚,我编辑了这个问题。我的意思是在用户启用自动旋转后,不会调用 onConfigurationChanged。
-
@SuhasShelar 你找到解决方案了吗?
标签: android orientation screen-orientation autorotate screen-rotation