我正在尝试为我的应用程序播放一个简短的介绍性视频。既然是游戏,首先我创建了一个主题来隐藏操作栏并全屏显示。
样式.xml:
<style name="AppTheme.NoTitleBar" parent="AppTheme">
<item name="android:windowNoTitle">true</item>
</style>
<style name="AppTheme.NoTitleBar.Fullscreen" parent="AppTheme.NoTitleBar">
<item name="android:windowFullscreen">true</item>
</style>
然后,我创建了一个布局,只有一个VideoView
:
活动主.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/black"
tools:context=".MainActivity" >
<VideoView
android:id="@+id/videoView_intro"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="0dp"
android:layout_marginTop="0dp" />
</RelativeLayout>
最后,我通过以下代码播放了视频:
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VideoView v = (VideoView) findViewById(R.id.videoView_intro);
v.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.intro));
/* This line had a code snippet for event handling, unrelated to this question */
v.start();
}
我成功播放了视频,但 VideoView 底部的边距很小。我认为它与通知栏的高度相匹配。我怎样才能摆脱这个保证金?
编辑:我不知道是否需要此信息,但该活动被强制为景观。此外,我针对 API 级别 8 的所有 android 设备,因此该解决方案必须与 API 级别 8 兼容。
AndroidManifest.xml:
<activity
android:name="org.package.name.MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:theme="@style/AppTheme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>