【发布时间】:2015-02-06 00:32:42
【问题描述】:
我的布局中有一个 VideoView,在这个 VideoView 中我试图播放一个垂直方向的视频。我的印象是,这是一个打算以纵向显示的纵向视频,事情再简单不过了。男孩,我错了吗。
这是我的 Java 代码:
videoView1 = (VideoView) findViewById(R.id.videoView1);
videoView1.setVideoPath("android.resource://" + getPackageName() + "/"
+ R.raw.video);
videoView1.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
videoView1.start();
}
});
videoView1.start();
这是我的 videoview 元素的 .xml(顺便说一句,它在 RelativeLayout 中):
<VideoView
android:id="@+id/videoView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp" />
我真正期望在公园散步时遇到的最令人惊讶的事情是,无论我做什么,视频确实会拉伸以填满屏幕的高度(因此 layout_alignParentTop 和 layout_alignParentBottom 显然可以正常工作) 但该死的东西不会填满屏幕的宽度!(是的,我很沮丧)所以这个已经垂直的视频在屏幕中间被拉伸成一个类似丝带的结构.
我添加了marginLeft 和marginRight 属性,拼命地尝试看看它是否可以工作,但没有!大吃一惊,我删除了 centerInParent 属性,但又没有。我什至创建了一个自定义 VideoView,覆盖了 onMeasure,但仍然一无所获。
我尝试以编程方式设置 VideoView 的 LayoutParams。你猜怎么着,没用。
【问题讨论】:
-
RelativeLayout 的宽度和高度参数是什么(
videoView1的父级)? -
它们都设置为 match_parent。
-
尝试在清单中添加
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
标签: java android video android-videoview