Android 视频启动画面或动画图片(淡入淡出)

Android Video Splash Screen or Animating Pictures (Fade)

如何创建启动画面 - 视频剪辑。就像这个一样。 我正在尝试制作这个欢迎屏幕。

它将一直循环,并在单击其中一个按钮时暂停。 当它播放带有 circleIndicator 滑动的 viewPager 时,它是自己的。

提前谢谢你。 :)

如果您将 MediaPlayerVideoView 一起使用,您可以在 OnCompletionListener 中开始您的 Activity。当视频播放结束时,它会开始您的下一个 activity .

mediaplayer.setOnCompletionListener(new OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
        try {

          //intent for start new activity

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
});
  1. 在您的 xml 中添加 videoview 为:

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center">
    
        <VideoView
            android:id="@+id/video_app_intro"
            android:layout_width="200.0dip"
            android:layout_height="200.0dip"
            android:layerType="none" />
    </FrameLayout>
    
  2. 在您的 activity.java 文件中添加:

    private boolean videoCompleted = false;
    // path of video in assets folder
    StringBuilder stringBuilder = new StringBuilder().append("android.resource://").append(getPackageName()).append("/").append(R.raw.splash);
    
        videoView.setVideoURI(Uri.parse(stringBuilder.toString()));
        videoView.start();
    
    videoView.setBackgroundColor(getResources().
    getColor(android.R.color.white));
    videoView.setZOrderOnTop(true);
    videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
        @Override
        public boolean onError(MediaPlayer mediaPlayer, int i, int i1) {
            //wait for 3 seconds
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(3000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }).start();
            videoCompleted = true;
            if (videoCompleted) {
                goToNextScreen();
            }
            return false;
        }
    });
    
    videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mediaPlayer) {
            videoCompleted = true;
            if (videoCompleted) {
                goToNextScreen();
            }
        }
    });
    

*** 对于不支持视频的情况,您应该在启动画面中使用视频和图像的视图切换器。