如何在方向改变后保留片段播放视频片段的实例?

Kev*_*vik 5 android fragment orientation android-youtube-api

我有一个YouTube API片段,静态地添加到我的xml清单文件中,即一个内部有youtube播放器的片段.

我没有在我的项目中扩展片段的文件.

在我的活动类中,我将这行代码放在onCreate我的activity类中:

youTubePlayerFragment.setRetainInstance(true);
Run Code Online (Sandbox Code Playgroud)

它没有任何影响:当我旋转屏幕时,我得到片段的空白黑屏.

如何在方向更改后继续播放片段?

<fragment
      android:id="@+id/youtube_fragment"
      android:name="com.google.android.youtube.player.YouTubePlayerFragment"
      android:layout_width="900dp"
      android:layout_height="500dp"
      android:layout_centerHorizontal="true"
      android:layout_centerVertical="true" />
Run Code Online (Sandbox Code Playgroud)

Eri*_*enz 4

快速而简单的解决方案是将以下内容添加到清单中的视频活动中:

android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
Run Code Online (Sandbox Code Playgroud)

我有一个使用它来制作视频的应用程序,它运行得很好。一切都在方向变化时正确布局,并且活动和片段实例不会被拆除,从而使其能够无缝地继续播放。

如果您希望拆除/重新创建 Activity,同时保留片段实例,请重新阅读setRetainInstance(). 您需要注意一些细微的差别才能使其正常工作:http://developer.android.com/reference/android/app/Fragment.html#setRetainInstance(boolean)