播放 VideoView 的不同纵向和横向布局
Posted
技术标签:
【中文标题】播放 VideoView 的不同纵向和横向布局【英文标题】:Different Portrait and Landscape layouts with VideoView playing 【发布时间】:2011-09-01 09:03:24 【问题描述】:我有一个 VideoView 在横向时占据整个屏幕。 我希望能够在纵向时将视频限制在屏幕的上半部分,以便在其下方显示其他控件/信息。
我在清单中使用“configChanges=orientation”来防止视频视图在方向改变时重新启动。然而,这意味着不同的方向布局被忽略,只使用遇到的第一个。
有谁知道在纵向显示视频下方的其他 UI 组件时,我将如何让视频在从纵向到横向的更改之间保持播放?
谢谢!
【问题讨论】:
【参考方案1】:当定向发生时,您可以保持在 videoview 中播放的数据不会重新启动:
重写 onRetainNonConfigurationInstance() 方法以返回您想要保留的对象。
当您的 Activity 再次创建时,调用 getLastNonConfigurationInstance() 来恢复您的对象。
你也可以参考这个文档:
http://developer.android.com/guide/topics/resources/runtime-changes.html
【讨论】:
Caution: While you can return any object, you should never pass an object that is tied to the Activity, such as a Drawable, an Adapter, a View or any other object that's associated with a Context.
看来我不能简单地保留视频视图。
是的...您需要将情况保存在视频文件中,即在定向之前播放了多少...以上是关于播放 VideoView 的不同纵向和横向布局的主要内容,如果未能解决你的问题,请参考以下文章