效果图
关键代码
1.监听滚动事件
首先要给listview添加setOnScrollListener监听,注意这个监听在recyclerView上是addOnScrollListener,也就是说下面代码同时支持recyclerView。
监听里会有两个方法,我们用onScroll方法记录 当前第一个可见Item,以及可见Item总数,用onScrollStateChanged来监听手滑动屏幕的整个过程。 当onScrollStateChanged 中的scrollState字段值等于SCROLL_STATE_IDLE 时,代表本次滑动完毕并停止滚动感兴趣的朋友可以自行百度另外两个参数的意思,没准对你的需求有帮助。
2.处理视频逻辑
首先是根据总数循环判断 Item 是否有视频,如果有再利用Rect类获取视图在屏幕坐标中的可视区域。基本核心代码就这些是不是非常简单?用到了第三方的视频播放库(
compile 'fm.jiecao:jiecaovideoplayer:4.6.3'
)当然你也可以用Vitamio或者ijkplayer。(github地址:https://github.com/zzzlw/autovideoplayer)
头条上面编辑器,代码排版太不友好了。后续会同步更新到微信公众号:打酱油的小李君。有需要的朋友可以关注一下哟!