Полноэкранное пейзажное видео (заставка) во время загрузки приложения - PullRequest
1 голос
/ 17 марта 2011

Я возился с андроидом чуть больше недели и знаю немало, но мне все еще не хватает тонны знаний.Я пытаюсь использовать mp4 в качестве заставки фильма.И методы, которые мне сказали использовать все, дают мне ужасный эффект.Мне нужен полноэкранный горизонтальный / альбомный фильм, на котором нет ничего, кроме фильма ... нет элементов управления видео и т. Д. Я также хочу, чтобы на видео можно было кликать и уничтожать.Если бы вы могли помочь, я был бы очень признателен за любые усилия.

Ответы [ 2 ]

5 голосов
/ 25 августа 2011

Мне удалось это сделать, и ниже приведен мой код для этого. Первым в списке указано «Действие», а затем указан макет.

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>
0 голосов
/ 09 апреля 2013

Не указывайте имя пакета.Вместо этого вы можете сделать это "android.resource: //" + getPackageName () + "/"+R.raw.VideoName

...