【问题标题】:Different Portrait and Landscape layouts with VideoView playing播放 VideoView 的不同纵向和横向布局
【发布时间】:2011-09-01 09:03:24
【问题描述】:

我有一个 VideoView 在横向时占据整个屏幕。 我希望能够在纵向时将视频限制在屏幕的上半部分,以便在其下方显示其他控件/信息。

我在清单中使用“configChanges=orientation”来防止视频视图在方向改变时重新启动。然而,这意味着不同的方向布局被忽略,只使用遇到的第一个。

有谁知道在纵向显示视频下方的其他 UI 组件时,我将如何让视频在从纵向到横向的更改之间保持播放?

谢谢!

【问题讨论】:

    标签: android orientation landscape android-videoview portrait


    【解决方案1】:

    当定向发生时,您可以保持在 videoview 中播放的数据不会重新启动:

    1. 重写 onRetainNonConfigurationInstance() 方法以返回您想要保留的对象。

    2. 当您的 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. 看来我不能简单地保留视频视图。
    • 是的...您需要将情况保存在视频文件中,即在定向之前播放了多少...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2014-06-21
    • 1970-01-01
    相关资源
    最近更新 更多