首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转手机在android上重启视频

旋转手机在android上重启视频
EN

Stack Overflow用户
提问于 2011-05-13 03:44:05
回答 5查看 10.2K关注 0票数 10

当我旋转我的手机时,我的活动重新开始。我有一个播放视频的视频视图,我旋转并重新启动视频。现在,我发现将这个添加到清单中的活动中可以修复它

代码语言:javascript
复制
<activity android:name="Vforum" android:configChanges="orientation"></activity>

现在的问题是,视频控件不会被重新绘制,直到它们消失并返回,从而留下从横向到纵向模式的非常长的控件,或者从纵向到横向的非常短的控件。一旦它们消失,然后我点击让它们回来,然后它们的大小是正确的。有没有更好的方法呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-10 22:54:38

添加

android:configChanges="orientation"

你在AndroidManifest.xml中的活动。

  • 解决了我不再下载渐进式视频的问题..

如果您的目标应用编程接口级别为13或更高,则除了here中描述的orientation值之外,还必须包含screenSize值。因此,您的标记可能如下所示

代码语言:javascript
复制
android:configChanges="orientation|screenSize"
票数 26
EN

Stack Overflow用户

发布于 2011-05-13 03:55:19

考虑记住视频文件在活动生命周期事件中的位置。创建Activity后,您可以获取视频位置,并从重新启动的那一刻开始播放。

在您的Activity类中:

代码语言:javascript
复制
@Override
protected void onCreate(Bundle bundle){
   super.onCreate(bundle);
   int mPos=bundle.getInt("pos"); // get position, also check if value exists, refer to documentation for more info
}

@Override
protected void onSaveInstanceState (Bundle outState){
    outState.putInt("pos", myVideoView.getCurrentPosition()); // save it here
}
票数 3
EN

Stack Overflow用户

发布于 2011-05-13 03:56:59

configChanges属性添加到清单中意味着您将执行handle config changes yourself。覆盖活动中的onConfigurationChanged()方法:

代码语言:javascript
复制
int lastOrientation = 0;

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    // Checks if orientation changed
    if (lastOrientation != newConfig.orientation) {
        lastOrientation = newConfig.orientation;
        // redraw your controls here
    } 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5983583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档