继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

霁雪清虹
关注TA
已关注
手记 33
粉丝 1万
获赞 137

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

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

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

实现效果如下:
3.gif

1. 原库的不足

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

2. 为了解决上述不足的核心代码
  1. 支持无限滑动需要的改动点
    首先adapter需要改
    TIM图片20171119035614.png
    然后需要得到通过LinearSnapHelper修正位置并且滑动停止后的位置mLastPos
    TIM图片20171119040102.png
    TIM图片20171119040208.png

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

TIM图片20171119040809.png

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

TIM图片20171119041307.png

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

3. 代码下载位置

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

打开App,阅读手记
5人推荐
发表评论
随时随地看视频慕课网APP

热门评论

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

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

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

查看全部评论