2014-10-17 41 views
1

我的应用程序内有一个videoview,它是一个小的videoview,不是全屏。如果高度为WRAP_CONTENT,VideoView不可见

这样做,我得到一个不可见的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)); 
       } 
      }); 

,做这个,我得到了一个完全可见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)); 
       } 
      }); 

为什么我必须把唤起注意的1个像素的初始高度videoview的大小?

感谢

回答

3

如果你使用它的视频,WRAP_CONTENT没有内容包,直到你开始播放视频。

该视图还不知道内容的大小,因为内容尚未添加,所以它不能包装它。

1 px高度让视图绘制。

+0

是的,将'width'和'height'设置为'match_parent'可以正常工作,并且'android:layout_centerInParent =“true”'完美。 – IgniteCoders 2016-11-18 13:14:44

相关问题