如果您使用的是SimpleExoPlayerView,则可以自定义播放器的视图,尤其是Control的视图.查看SimpleExoPlayerView的文档:

Attributes

The following attributes can be set on a SimpleExoPlayerView when used in a layout XML file:

controller_layout_id – Specifies the id of the layout resource to be inflated by the child PlaybackControlView. See below for more details.

Corresponding method: None

Default: R.id.exo_playback_control_view

因此,基本上您可以为控制器提供自己的布局文件(您可以复制文档中提到的exo_playback_control_view布局,这是默认布局文件,并根据需要自定义.请注意,您需要提供相同的视图ID现有的控件(所以最好实际复制它),如PlaybackControlView的文档中所述:

Overriding the layout file

To customize the layout of PlaybackControlView throughout your app,or just for certain configurations,you can define exo_playback_control_view.xml layout files in your application res/layout* directories. These layouts will override the one provided by the ExoPlayer library,and will be inflated for use by PlaybackControlView. The view identifies and binds its children by looking for the following ids:

exo_play – The play button.

exo_pause – The pause button.

exo_ffwd – The fast forward button.

exo_rew – The rewind button.

exo_prev – The prevIoUs track button.

exo_next – The next track button.

exo_position – Text view displaying the current playback position.

exo_duration – Text view displaying the current media duration.

exo_progress – Seek bar that’s updated during playback and allows seeking.

All child views are optional and so can be omitted if not required,however where defined they must be of the expected type.

以下是带全屏按钮的自定义布局.您可以通过view.findViewById(R.id.exo_fullscreen_button)获取对该按钮的引用,并将OnClickListener附加到该按钮.在onClick()中你可以开始你的全屏活动(你可以在AndroidManifest.xml中或以编程方式定义它的全屏)或显示另一个片段,其中SimpleExoPlayerView占据整个屏幕.

从第二点开始,您可以像这样获得播放位置:playbackPosition = player.getCurrentPosition()并将其作为Intent extra传递给新的全屏Activity / Fragment.然后,在全屏活动/片段中加载视频,提取该playbackPosition值并调用:

player.seekTo(playbackPosition);

player.setPlayWhenReady(true);

这是控件布局文件:

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:paddingTop="4dp"

android:orientation="horizontal">

style="@style/ExoMediaButton.PrevIoUs"/>

style="@style/ExoMediaButton.Rewind"/>

style="@style/ExoMediaButton.Play"/>

style="@style/ExoMediaButton.Pause"/>

style="@style/ExoMediaButton.FastForward"/>

style="@style/ExoMediaButton.Next"/>

// This is the custom button

android:id="@+id/exo_fullscreen_button"

style="@style/ExoMediaButton"

android:src="@drawable/ic_fullscreen"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="4dp"

android:gravity="center_vertical"

android:orientation="horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="14sp"

android:textStyle="bold"

android:paddingLeft="4dp"

android:paddingRight="4dp"

android:includeFontPadding="false"

android:textColor="#FFBEBEBE"/>

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="32dp"

android:focusable="false"

style="?android:attr/progressBarStyleHorizontal"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="14sp"

android:textStyle="bold"

android:paddingLeft="4dp"

android:paddingRight="4dp"

android:includeFontPadding="false"

android:textColor="#FFBEBEBE"/>

android自定义播放器按钮,android – 使用exo播放器添加全屏视频按钮相关推荐

  1. Android的WebView如何播放视频和全屏视频(腾讯X5内核)

    WebView如何播放视频和全屏视频 前言 1. 接入SDK 2. 具体场景和代码实现 3. 踩坑 3.1 android.system.ErrnoException: chmod failed: E ...

  2. android画布全屏,Android给任何view添加全屏倾斜水印

    本文主要介绍了Android给任何view添加全屏倾斜水印,具体如下,分享给大家 如果要实现如下效果 目前有两种思路: 1.先画出带有水平文字的照片,然后再和原图合成即可 2.旋转画布,然后直接画布写 ...

  3. h5隐藏video控制按钮controls(腾讯云点播禁用video音量全屏等按钮)

    前言 昨天app的同事(ios跟安卓)发现webview的video全屏按钮有问题,他们想禁用掉全屏.音量控制的按钮,前端同事在根据api设置disable_full_screen=1(pc端fals ...

  4. video全屏操作栏自定义样式js 指定元素全屏视频截图下载

    目录 1. 页面结构 2. 全屏方法 3. 截图方法 4. 样式代码 5. 效果截图 6. 附上完整代码 最近遇到的需求就是重新video标签的控制栏的样式,包括进度条.音量.倍速.全屏等样式,在正常 ...

  5. Android6.0 源码修改之 仿IOS添加全屏可拖拽浮窗返回按钮...

    Android6.0 源码修改之 仿IOS添加全屏可拖拽浮窗返回按钮 前言 之前写过屏蔽系统导航栏功能的文章,具体可看Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP) ...

  6. win10右下角显示桌面图标消失并且点击左下角Windows按钮或者打开任意文件夹直接全屏无法缩小

    记录一次糟心的经历 问题: win10右下角显示桌面图标消失并且点击左下角Windows按钮或者打开任意文件夹直接全屏无法缩小 方法: 问题: win10右下角显示桌面图标消失并且点击左下角Windo ...

  7. Android自定义View如此简单 实现点击动画+进度刷新的提交/下载按钮(填坑面试题)

    SubmitButton 背景 实现思路 继承View 面试题:构造方法如何选择 自定义属性 面试题:styleable.AttributeSet.TypedArray的关系 测量宽高 面试题:UNS ...

  8. android幻灯片效果自定义,Android自定义View实现仿网易音乐唱片播放效果

    本文实例为大家分享了Android实现仿网易音乐唱片播放效果的具体代码,供大家参考,具体内容如下 效果图: 在values中创建attrs.xml文件 //中间图片的半径 //图片 //唱片旋转的速度 ...

  9. android自定义dialog不显示,Android 自定义的dialog显示不正常呢,怎么回事???

    Android 自定义的dialog显示不正常呢,怎么回事??? 用android的自定义布局文件: android:layout_width="match_parent" and ...

最新文章

  1. 在MFC中使用AFXBEGINTHREAD的方法
  2. azkaban 与 java任务_Azkaban的任务类型分析35:JavaProcessJob的执行
  3. Apache ZooKeeper - ZK的ACL权限控制( Access Control List )
  4. 常搓八个部位可以防衰老 - 健康程序员,至尚生活!
  5. 一个简单好用的java增量更新工具
  6. iOS开发造轮子 | 通用占位图
  7. java蓝桥杯 基础练习 芯片测试
  8. BlueIdea 7周年 北京欢天喜地大聚会
  9. IBM 启动网格项目 -- “全球社区网格”,招募志愿者
  10. Excel自动转曲线图的时PHP,excel表格数据转为曲线-如何将EXCEL表中的数据生成曲线...
  11. D3DXVec3TransformCoord 函数
  12. 记录下 如何导出安卓包
  13. redis数据类型之Set
  14. java集合复习笔记-java集合继承关系图
  15. 直观理解Hilbert空间是什么?
  16. Android app 开发环境搭建
  17. 13款经典BI项目报表界面风格设计方案
  18. python 实现 加减乘除,对数指数,三角反三角计算器
  19. Python进程池Pool的使用
  20. mysql中常用的三种插入数据的语句

热门文章

  1. Camera2 YUV_420_888转NV21
  2. 华为手机微信聊天记录删除怎么恢复?基于华为电脑助手备份的恢复方法
  3. MySQL主从复制以及会出现的幺蛾子问题、解决方法
  4. 看教程学虚幻四——粒子特效之魔法阵
  5. 黑马程序员---MYSQL数据库---01
  6. 三国志战略版:不接受反驳的全服最强五虎盾
  7. 影响百度SEM竞价账户推广效果的8大因素
  8. Canvas制作RPG手机版游戏(一):
  9. POM 文件中 licenses 许可证的定义
  10. css3元素简单的闪烁效果