当前位置: 首页 > news >正文

【Android-视频播放】实用vitamio自定义控制条位置

在开发中,用到了视频播放的功能,看到网上现成的开源的Vitamio已经很成熟了。就本着拿来主义直接实用了。

但是播放中实用的进度条的位置有时候跟自己需求不是那么一致。

下面是教程

1.首先修改Vitamio中MediaController类,在此类中新加一个构造函数,代码如下:

public MediaController(Context context,boolean fromXml,View container) {
		super(context);
		initController(context);
		mFromXml = fromXml;
		mRoot = makeControllerView();
         //这个地方的FrameLayout.LayoutpParams是因为布局文件中要把MediaController的视图作为childView加到一个FrameLayout中去 FrameLayout.LayoutParams p = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);//想怎样布局MediaController就尽情的发挥这个LayoutParams吧 p.gravity = Gravity.BOTTOM; mRoot.setLayoutParams(p); ((FrameLayout)container).addView(mRoot); }

  此方法中用到的所有字段都是本来就有的,没有新加任何代码

2.定义播放视频的XML布局文件,代码如下:

<FrameLayout
        android:id="@+id/ll"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:visibility="gone" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/black"
            android:orientation="vertical" >

            <io.vov.vitamio.widget.CenterLayout
                android:id="@+id/cl"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@color/black" >

                <io.vov.vitamio.widget.VideoView
                    android:id="@+id/vv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true" />
            </io.vov.vitamio.widget.CenterLayout>
        </LinearLayout>
    </FrameLayout>

  3.Activity中使用

/**
*第一个参数:当前上下文
*第二个参数:一定要为TRUE,就是为了在MediaController中执行某些代码
*第三个参数:把控制器添加到哪个View中去
*/

MediaController mc = new MediaController(this,true,llVideo); vv.setMediaController(mc); mc.setVisibility(View.GONE);//此操作是为了解决打开视频的时候控制条不走动,需要点击下视频才走动的问题。这样默认情况下用户看不到进度条,当点击视频的时候就可以看到正在走动的进度条了。

希望可以帮到一些人  

【玩】

 

转载于:https://www.cnblogs.com/MrZz/p/4031991.html

相关文章:

  • HBase之MemStore+Flush详解
  • Pair Project 1 elevator
  • DISCUZ 学习笔记四 SEO 设置 板块 分区 导航 模板 修改浏览器标签powerbydis
  • JVM 运行时数据区域
  • JVM调优的几种策略(转)
  • JavaScript生成GUID的方法
  • 领悟得太迟
  • 关于最近WIN7系统错误711的解决办法
  • 如何重现难以重现的bug
  • tcp/ip
  • Oracle笔记 一、oracle的安装、sqlplus的使用
  • sort命令
  • linux http服务器web网页的不同安全机制
  • Object-C代码练习【复制对象的基本概念】
  • 升级Flash Builder 4.6中的Flash Player版本
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 30天自制操作系统-2
  • ECS应用管理最佳实践
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Java IO学习笔记一
  • JavaScript标准库系列——Math对象和Date对象(二)
  • js作用域和this的理解
  • Mocha测试初探
  • mysql外键的使用
  • python docx文档转html页面
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 前端之React实战:创建跨平台的项目架构
  • 手写一个CommonJS打包工具(一)
  • 算法系列——算法入门之递归分而治之思想的实现
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 回归生活:清理微信公众号
  • 整理一些计算机基础知识!
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (C语言)共用体union的用法举例
  • (k8s中)docker netty OOM问题记录
  • (搬运以学习)flask 上下文的实现
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (生成器)yield与(迭代器)generator
  • (转)ABI是什么
  • .bat文件调用java类的main方法
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET项目中存在多个web.config文件时的加载顺序
  • /dev下添加设备节点的方法步骤(通过device_create)
  • ::before和::after 常见的用法
  • ?.的用法
  • @KafkaListener注解详解(一)| 常用参数详解
  • @RequestMapping 的作用是什么?
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [100天算法】-不同路径 III(day 73)
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [ANT] 项目中应用ANT
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [C/C++] C/C++中数字与字符串之间的转换