android开关布局旋转

时间:2014-02-11 12:15:56

标签: android android-layout android-orientation android-videoview

我有一个带有视频和按钮的活动,我有两个不同的布局,一个用于纵向模式,第二个用于横向。

所以,我为第二个布局创建了layout-land,一切正常。

问题在于旋转发生时。 Videoview重启因为活动续订。 在清单方向设置|屏幕大小视频不重启,但我丢失了横向布局。

如何完成这两项任务?

2 个答案:

答案 0 :(得分:1)

您需要做的就是将其添加到AndroidManifest.xml中的活动:

 android:configChanges="orientation"

您的视频活动应该是这样的。

 <activity android:name=".VideoPlayerActivity" 
  android:configChanges="orientation" />

然后将以下方法添加到VideoPlayerActivity:

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

甚至在你的mainActivity.java中 vd =(VideoView)findViewById(R.id.vplayer);     .......     public void onSaveInstanceState(Bundle savedInstanceState){         super.onSaveInstanceState(savedInstanceState);         savedInstanceState.putInt( “位置”,vd.getCurrentPosition());     }

public void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    int position= savedInstanceState.getInt("Position");
    vd.seekTo(position);
}

答案 1 :(得分:0)

configChanges保留在AndroidManifest.xml中,还可以使用onSaveInstanceStateonRestoreInstanceState将活动重新置于您想要的状态之后方向已经改变。

查看here了解更多详情