Экран-заставка Android Video или анимированные картинки (исчезают)

Как создать заставку - видеоклип. Так же, как этот. Я пытаюсь сделать этот экран приветствия.

Он будет всегда зацикливаться и останавливаться, когда нажата одна из кнопок. И так как он воспроизводит viewPager с circleIndicator, он проводит его по своему усмотрению.

Заранее спасибо.:)

2 ответа

Решение
  1. Добавьте videoview в ваш XML как:

    <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();
            }
        }
    });
    

*** Вы должны использовать переключатель просмотра видео на заставке, с видео и изображением, для случая, когда видео не поддерживается.

Если вы используете MediaPlayer с VideoView Вы можете начать свою деятельность в OnCompletionListener.После завершения воспроизведения видео начните следующее действие.

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

          //intent for start new activity

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
});
Другие вопросы по тегам