手记

使用recyclerView实现无限循环banner效果

新接到的任务就是要搞个能快速滑动好几页的banner控件,之前用的是viewpager实现,尝试过基于viewpager改感觉不太好实现,后面在群友推荐下改用了recycleview,大概都实现了。

首先感谢这个库RecyclerViewCardGallery-android使用RecyclerView实现Gallery画廊效果

https://github.com/huazhiyuan2008/RecyclerViewCardGallery/

实现效果如下:

1. 原库的不足

1.不支持无限循环滑动
2.未能提供快速跳转到某个位置的函数

2. 为了解决上述不足的核心代码
  1. 支持无限滑动需要的改动点
    首先adapter需要改

    然后需要得到通过LinearSnapHelper修正位置并且滑动停止后的位置mLastPos

拿到mLastPos主要是为了修改支持无限滑动时候card缩放(原有缩放代码因为循环的原因无效了)

2 新增快速跳转到某个位置的函数

短距离滚动滑动到某个位置当然还是用recycleView.smoothScrolltoPosition,它会帮你滚动到某个位置并且居中显示。

3. 代码下载位置

github地址https://github.com/zjw-swun/RecyclerViewCardGallery 喜欢就给star吧

5人推荐
随时随地看视频
慕课网APP

热门评论

如果能控制快速滑动一次只翻一页就好了

banner 里面加EditText 默认显示6条数据,怎么会回事

看了下代码,循环的实现有问题啊,你这其实还是个有限的列表,如果banner一直自动滚动,还是会停下来吧

查看全部评论