版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oqzuser1q2w3e4r5t/article/details/88970653
遇到问题:VideoView在模拟器上不显示为全屏,只显示了一半
这是显示效果图
这是布局设置图
问题原因:
videoview 是继承于surfaceview,它相当于是一个自定义的控件,对于自定义的控件来说,它的测量与绘制才是核心,我们需要对于这两种核心方法进行处理。
VideoView中只实现了测量的方法,videoview的测量方法导致了半屏的这种现象,所以videoview需要重写一下
修改代码如下:
在自定义的VideoView中添加:
使系统按照我们设置的尺寸来进行绘制
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width =getDefaultSize(0,widthMeasureSpec);
int height =getDefaultSize(0,heightMeasureSpec);
setMeasuredDimension(width,height);
//super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
效果图有些low,不过最起码是实现了闪屏页的视频播放效果
Github地址:
https://github.com/uvfv1991/TodayNewsSearchTest/tree/master/SplashVideoDemo