use*_*897 6 video android rotation
我写了一个代码来播放我网站上的视频.
它工作正常,但当我旋转手机时,视频从头开始重新启动.
我该如何解决这个问题?
public class ActivityVideoDetail extends Activity {
private VideoDetail videoDetail;
private TextView txtResult;
// -------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_activity_video_detail);
if (savedInstanceState != null)
{
}
else {
ini();
}
}
// -------------------------
private void ini() {
videoDetail = (VideoDetail) getIntent().getExtras().getSerializable(VideoDetail.VIDEO_DETAIL);
txtResult = (TextView) findViewById(R.id.txtResult);
txtResult.setText(videoDetail.getVideoTitle());
Uri uri = Uri.parse(videoDetail.getVideoPath());
// Uri uri = Uri.parse("http://daily3gp.com/vids/747.3gp");
VideoView videoView = (VideoView) findViewById(R.id.videoPlayer);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
mediaController.setMediaPlayer(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoView.start();
}
}
Run Code Online (Sandbox Code Playgroud)
And*_* me 10
您只需要转到AndroidManifest.xml,在内部或活动标签中,您必须输入这行代码,因为有人说:
android:configChanges="orientation|screenSize"
Run Code Online (Sandbox Code Playgroud)
所以,你会有这样的事情:
<activity android:name="ActivityMenu"
android:configChanges="orientation|screenSize">
</activity>
Run Code Online (Sandbox Code Playgroud)
希望这对你有用
通常有三种方法可以做到这一点:
正如一些建议的答案,您可以区分第一次创建活动和从savedInstanceState恢复的情况.这是通过重写onSaveInstanceState并检查onCreate的参数来完成的.
您可以通过在清单中添加android:screenOrientation ="portrait"(或"landscape")来锁定活动的一个方向.
您可以通过在标记中指定android:configChanges ="screenOrientation"来告诉系统您打算自己处理屏幕更改.这样就不会重新创建活动,而是会收到一个回调(你可以忽略它,因为它对你没用).
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |