在Android中简单的播放一下视频选用VideoView是一个不错的选择,各个厂商在出厂的时候一般都会测试视频播放,这个兼容性一般都能得到保证,而且使用VideoView播放会自动的纠正视频角度,但是有一个问题VideoView在使用过程中总是有一些空白区域留出来,很多时候我们想让他填充满屏幕,或者说父布局,于是就有了今天的议题(当然也可以通过OpenGL来自己画视频,想显示成什么样子就显示成什么样子,只不过这个相对来说麻烦一点)。

首先VideoView在使用的时候有一个坑,就是在初始化的时候一定要把视频地址给到它,否则视频是变形的,因为在布局的时候没有拿到视频的尺寸信息,所以初始化的时候并不知道要初始化多大的Surface,这就决定了VideoView的两种使用方式:

  1. 在xml里面放置的时候,那么在Activity onCreate的时候就需要把视频地址传进去。
  2. 动态的new VideoView()然后添加到指定的父控件里面,同时也需要把视频地址传进去

原理如下:

  1. 拿到视频地址后取出准确的视频宽高
  2. 在onSizeChanged的时候根据视频宽高和父布局的宽高来计算出VideoView的布局参数,把视频多出来的区域通过-margin来让它显示到控件外面去,进而达到填充满父控件的目的
  3. 重写onMeasure方法覆盖掉VideoView的逻辑,然后尽情享受吧

完整代码地址:https://www.bzblog.online/wordpress/index.php/2020/06/05/fillparentvideoview/

更多相关文章

  1. Android(安卓)(最新)控件透明度,布局透明度,Activity透明度,颜色透
  2. Android(安卓)开源项目收集(开源之路险且艰,有负出就有收获)
  3. Android中自定义加载样式图片的具体实现
  4. 如何将音视频发布到移动设备,android,ios,iphone,ipad等
  5. Android(安卓)适配语言、图片、横竖屏、不同版本
  6. Android(安卓)TV开发总结(四)通过RecycleView构建一个TV app列表页
  7. [Android(安卓)Studio]掌握Android(安卓)Studio的五种常见控件和
  8. 【Android】抽象布局 — include、merge 、ViewStub
  9. android 布局适应不同分辨率

随机推荐

  1. [004] 详解Windows平台搭建Androiod开发
  2. Android(安卓)应用程序四大组件
  3. Android图表achartengine、MPAndroidChar
  4. 学习Android(安卓)应注意的十个问题
  5. Android(安卓)学习记录-网络请求
  6. 命令行下创建 Android(安卓)工程,用 Ant
  7. Android(安卓)HAL 介绍
  8. Android开发几个必去的网站
  9. android 5.1 添加自定义的SystemServer服
  10. android中context及全局变量小析 .