这是我的splash.java,我使用我的videoView作为contentView。有什么方法可以将视频置于videoView内部,即contentView?
或者做什么更好?
package com.android;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.widget.VideoView;
public class Splash extends Activity
{
VideoView vidHolder;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try
{
vidHolder = new VideoView(this);
setContentView(vidHolder);
Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.splash);
vidHolder.setVideoURI(video);
vidHolder.setOnCompletionListener(new OnCompletionListener()
{
public void onCompletion(MediaPlayer mp) {
jump();
}});
vidHolder.start();
} catch(Exception ex) {
jump();
}
}
private void jump()
{
if(isFinishing())
return;
startActivity(new Intent(this, MainActivity.class));
finish();
}
}
答案 0 :(得分:6)
使用布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<VideoView android:id="@+id/myvideo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
注意:你没有要求它,但是你的代码来自其他地方的一个例子,它将在视频之前和之后显示臭名昭着的黑色闪光。您需要添加vidHolder.setZOrderOnTop(true);
以避免这种情况(在#setVideoUri
之后)。