停止 VideoView 更新

Stop VideoView from updating

我的应用程序目前可以毫无问题地播放来自互联网的视频,当我旋转屏幕时,VideoView 关闭、闪烁、're-created' 并从停止的地方继续播放视频。我知道以前 UpdateVideoPlayerState(false); 曾努力阻止它在旋转时闪烁,但现在不起作用。

旋转屏幕时如何阻止videoview更新?

您可以在一个片段中创建您的 VideoView。将片段的 onCreate 中的 retainState 设置为 true。 在片段内部,您可以调用 setRetainedInstance(true),这样您的片段将不会在配置更改期间重新创建。通常,当您旋转设备时,将重新创建所有片段。如果您在 onCreate() 中调用 setRetainedInstance(true),那么您的片段实例将不会被重新创建。

有什么用? - 您可以将一些数据、数组等放入您的片段中,并且在配置更改期间不会被破坏。您也可以将异步任务放在这样的片段中,并且在 main activity 轮换之后,片段中的异步任务仍然能够传递其结果。

片段的另一个有用特性是您可以轻松地在多个活动中重用它们。

将此添加到您的 Activity 中:

[Activity(Label = "App", MainLauncher = true,ConfigurationChanges = Android.Content.PM.ConfigChanges.O‌​‌​rientation|Android‌​.C‌​ontent.PM.Config‌​Chan‌​ges.ScreenSize‌​)]

它将避免您的 Activity 和您的视频视图在您旋转屏幕时重新创建。