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

Nul*_*ion 4 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));
                }
            });
Run Code Online (Sandbox Code Playgroud)

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

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));
                }
            });
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Suh*_*hta 5

如果您将其用于视频,则 wrap_content 在您开始播放视频之前没有要包装的内容。

视图还不知道内容的大小,因为内容还没有被添加,所以它也不能包装它。

1 px 高度让视图绘制。