Мне удалось это сделать, и ниже приведен мой код для этого. Первым в списке указано «Действие», а затем указан макет.
package com.adnan.demo;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.widget.VideoView;
public class Splash extends Activity implements OnCompletionListener
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
VideoView video = (VideoView) findViewById(R.id.videoView);
video.setVideoPath("android.resource://com.agileone/raw/" + R.raw.splash);
video.start();
video.setOnCompletionListener(this);
}
@Override
public void onCompletion(MediaPlayer mp)
{
Intent intent = new Intent(this, Home.class);
startActivity(intent);
finish();
}
}
Активность объявляется в файле манифеста следующим образом:
<activity android:name=".Splash" android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Как видите, ориентация установлена на альбомную, поэтому заставка всегда будет отображаться в альбомной ориентации. Установка темы этого действия на @android: style / Theme.NoTitleBar. Полный экран важен. Это делает видео на весь экран. Важно понимать, что Android не может масштабировать ваше видео до разрешения дисплеев. Поэтому, если разрешение вашего видео не соответствует разрешению устройства, вы увидите черные полосы слева / справа или сверху / снизу видео - в зависимости от разрешения видео.
Содержимое файла макета splash.xml приведено ниже:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<VideoView android:id="@+id/videoView" android:layout_gravity="center"
android:layout_width="fill_parent" android:layout_height="fill_parent"/>
</FrameLayout>