我试图解决这个问题,通过互联网搜索,没有找到真正的答案.
我正在开发一款需要YouTube播放器的应用.这个玩家是YouTubePlayerSupportFragment因为它在一个支持片段中(所以它也是嵌套的).初始设置后,我意识到无论何时旋转手机,视频都会停止播放,必须重新启动.这显然不是我想要的.
然后我发现了一些SO答案(就像这样),人们说Activity需要处理配置更改,所以我android:configChanges="keyboardHidden|orientation|screenSize"在清单中添加了Activity.这解决了这个问题,视频现在即使在方向改变时也能继续播放,全屏旋转看起来并不难看.很酷,我说,只是意识到这大大困扰了应用程序的其他部分,因为配置现在正在所有视图到位后更新.这意味着如果我的手机处于纵向模式并且我将其旋转到横向,则使用的布局仍然是纵向布局.
我找到了解决方案,建议调用setContentView(...)Activity onConfigurationChanged(...)并重新填充片段中的视图,但这似乎是一个相当麻烦的解决方案,因为它不仅仅是我需要的简单内容设置,需要保留片段(例如滚动)在...中的位置RecyclerView.setRetainInstance(true)在这种情况下,内置功能不起作用,因为视图也可以使用它重新创建,但是在onCreateView(...)调用时配置仍然是旧的.
如果我可以捕获configChanges事件,如果用户只在该屏幕(片段)上,但在其他任何地方保留Activity娱乐,那将是很好的.
不建议使用更多活动,由于UI/UX原因,我无法为此屏幕和应用程序的其余部分使用单独的活动.
youtube android android-fragments android-orientation android-youtube-api
使用YouTubeBaseActivity,YouTubePlayerView和YouTubePlayer启动并运行示例活动非常简单.虽然方向有问题,但找不到任何文档或示例代码.当我在播放视频时切换屏幕是空白的.
在onCreate(),onPause(),onSaveInstanceState()和onRestoreInstanceState()中,要使视频继续播放,有哪些正确的操作?
谢谢