如果高度为WRAP_CONTENT,则VideoView不可见

时间:2014-10-17 11:47:07

标签: android android-layout android-videoview

我的应用内部有一个视频视图,它是一个小视频视图,不是全屏。

这样做我得到了一个不可见的视频:

mVideo.setLayoutParams(new LinearLayout.LayoutParams(200, LinearLayout.LayoutParams.WRAP_CONTENT));

mVideo.setOnPreparedListener(new OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mVideo.setLayoutParams(new LinearLayout.LayoutParams(getIntWidth(), LinearLayout.LayoutParams.WRAP_CONTENT));
                }
            });

这样做我得到了一个完全可见的视频:

mVideo.setLayoutParams(new LinearLayout.LayoutParams(200, 1));

mVideo.setOnPreparedListener(new OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mVideo.setLayoutParams(new LinearLayout.LayoutParams(getIntWidth(), LinearLayout.LayoutParams.WRAP_CONTENT));
                }
            });

为什么我必须在视频的初始高度尺寸中放置1个像素的高度?

由于

1 个答案:

答案 0 :(得分:4)

如果你将它用于视频,那么在你开始播放视频之前,wrap_content没有内容可以包装。

视图尚不知道内容的大小,因为内容尚未添加,因此也无法将其包装。

高度为1像素,可以绘制视图。