您的位置:首页 > 移动开发 > Android开发

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

2016-11-17 19:05 573 查看

转载注明出处:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android vitamio
相关文章推荐