2011-03-17 77 views
1

我一直在使用android进行一个多星期的调试,并知道相当数量,但仍缺乏大量知识。我正尝试使用mp4作为闪屏电影活动。我被告知要使用的方法都给我带来了可怕的影响。我想要一个全屏水平/风景电影,除了电影以外没有任何设备...没有视频控制等。我也希望视频能够被点击和销毁。如果你能帮助,我会非常感谢任何努力。全屏风景应用程序加载时的视频(启动画面)

+0

请告诉我,你这样做我想要做同样的事情 – 2011-03-29 13:01:04

+0

@Adam:没有你设法做到这一点?我正在尝试做同样的事情,但视频并未按照我希望的方式显示。 – binW 2011-08-10 08:42:43

回答

5

我设法做到这一点,下面给出的是我的代码。首先列出的是活动,然后给出布局。

<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> 

正如你所看到的方向设置为风景所以开机画面将永远出现在横向模式:

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

的活动清单文件如下声明。将此活动的主题设置为@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> 
0

不要硬编码的包名。 相反,你可以做到这一点 “android.resource://” + getPackageName()+“/"+R.raw.VideoName

相关问题