基于RecyclerView实现的动态图片轮播器
最近项目中需要大量使用图片轮播器,来动态运营页面顶部的推广信息。传统的实现都是基于viewpager来实现,但是实际做过的同学才知道这里面有很多不方便。
换一个思路,其实recyclerview也是提供了一个高效的列表实现机制,并且展示的方向和方式都是可以控制的,我们可以基于这个来实现一个轮播器。
这个轮播器至少有以下功能:
- 可以选择是否自动播放,以及自动播放的时间间隔,也就是速度
- 可以指示器的图片(选中和未选中的),并且可以制定其margin,space间隔,size大小,gravity对齐,是否展示等属性
- 可以定制banner view的布局,并且可以灵活实现不同布局中的子view的点击,长按等事件监听
实现方案
具体的实现方案我已经放到了github上,代码只有一个java类,比较小巧,大家可以直接拿去用或者定制。原理我这里就不解释了,代码中我添加十分详细的注释,相信聪明的你肯定能明白。
代码地址:
https://github.com/CreateChance/RecyclerBanner