视频框架 Vitamio 使用教程+部分心得 (六) 适配 Android 7.0 MediaController显示

转载注明出处:

http://blog.csdn.net/u010181592/article/category/5893483

文章出自 我不只是看客/NotLooker的博客

先列出参考资料:
- Vitamio 官网:http://www.vitamio.org(不太稳定,时常打不开)
- 农民伯伯 博客:http://www.cnblogs.com/over140/category/409230.html(开发者之一,博客中有部分Vitamio中文API)

最近看到把SONY大L36h刷上7.0 完了半天,感觉电量优化做的还是不错的。但在使用测试app的时候发现,Vitamio在7.0上播放视频时没法弹出控制器 。 看了下官网并没有给出适配版本,自己动手,丰衣足食;


找到控制器类 MediaController 查看show方法,这里写图片描述
因为 mediacontroller本质是一个popupWindow 所以直接看显示方法

  mWindow.showAtLocation(mAnchor, Gravity.NO_GRAVITY, anchorRect.left, anchorRect.bottom);

在这行前边打上log,发现showAtLocation已经被执行,所以问题一定出在这个显示函数中;
看文档得知

showAtLocation(parent, gravity, x, y);

跟位置有关的是
gravity:弹出位置(以左下角为参照)
x,y:偏移量会以它为基准点 当x y为0,0是出现在底部居中

通过log分析
anchorRect.left = 0
anchorRect.bottom = 1080
1080位屏幕高,所以偏移量是没问题的,问题只能出在
Gravity.NO_GRAVITY上了
于是修改弹出方式为,TOP,并且修改位置修正为0,0;
这里写图片描述
搞定,猜测可能是因为7.0针对Gravity.NO_GRAVITY上显示方式进行了修改,导致弹出位置异常;
以及如果有人出现这种情况:
这里写图片描述3
那是因为 Vitamio设置MediaController大小的时候高度默认用的是wrap_content
这里写图片描述
改成match就好了,bingo~
搞定

Github Demo:WHPlayer

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值