【发布时间】:2017-06-02 19:41:29
【问题描述】:
我正在尝试为我的应用播放一段简短的介绍视频。既然是游戏,首先我创建了一个主题来隐藏操作栏并全屏显示。
styles.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 的布局:
activity_main.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>
【问题讨论】:
-
我想最快的方法是应用带有负值的底部边距。试试看
-
@Maver1ck 尝试过
android:layout_marginBottom="-8dp"。结果是否定的。
标签: android