我一直在玩android一个多星期一段时间并且知道相当多,但仍然缺乏大量的知识。我正在尝试使用mp4作为启动画面电影活动。我被告知使用的方法都给我带来了可怕的影响。我想要一个全屏横向/横向电影,除了电影之外没有任何设备......没有视频控制等。我也希望能够点击和销毁视频。如果你能提供帮助,我将非常感谢任何努力。
答案 0 :(得分:5)
我设法做到了,下面给出的是我的代码。首先列出的是活动,然后是布局。
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.Fullscreen非常重要。它使视频覆盖整个屏幕。重要的是要了解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>
答案 1 :(得分:0)
不要硬编码包名称。 相反,你可以这样做 “android.resource://”+ getPackageName()+“/”+ R.raw.VideoName