我有一个带有视频和按钮的活动,我有两个不同的布局,一个用于纵向模式,第二个用于横向。
所以,我为第二个布局创建了layout-land,一切正常。
问题在于旋转发生时。 Videoview重启因为活动续订。 在清单方向设置|屏幕大小视频不重启,但我丢失了横向布局。
如何完成这两项任务?
答案 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
中,还可以使用onSaveInstanceState
和onRestoreInstanceState
将活动重新置于您想要的状态之后方向已经改变。
查看here了解更多详情