美文网首页Android开发小技能
一个不显示全屏图的banner无限自动轮播例子,利用recycl

一个不显示全屏图的banner无限自动轮播例子,利用recycl

作者: 小夫哥 | 来源:发表于2019-05-27 19:44 被阅读0次

    IncompleteScreenBanner

    一个不显示全屏图的banner无限自动轮播例子,利用recycleview实现类似viewpager效果

    背景

    其实程序猿要开发一个demo的背景,都!一!样!
    说什么为了社会进步,为了挑战自我,都!是!瞎!扯!蛋!
    无非就是一个背景,产品经理要求实现该功能!!!

    生无可恋

    废话小说,先上gif为敬!

    demo

    功能

    正常来说,banner无限轮播,都是全屏的图片去轮播,现在产品要求一张图不布满全屏,让下一个图露出一点。。。
    (虽然我看不太懂这个设计美感)

    步骤

    前期准备

    找了一下,目测没有现成的轮子,但看了一位大佬写的无限轮播图有感,我就想了一下,卧槽,我可以在这基础上改一波呀。
    在这里真诚的感谢一波这位大哥Renny

    https://github.com/ren93/RecyclerBanner.git
    (如有雷同纯属巧合)

    实现原理

    • 利用recycleview做一个类似viewpager的效果
    • 通过设置adapter的itemCount为Integer.MAX_VALUE,再把默认的第一个item设置到*10000的位置去,曲线实现无限轮播功能
    • 继承工具类SnapHelper,实现拖动itemView有viewpager的feel而且自动适配位置回弹

    貌似看起来也不难吧

    这是一只发春的狗

    重点

    其中,继承SnapHelper是重点,这是一个用于辅助RecyclerView在滚动结束时将Item对齐到某个位置,而官方中也有两个子类LinearSnapHelper、PagerSnapHelper,都能让item滑动后自动停留在recycleview的中间。很遗憾,这两个官方的子类不满足我们的功能需求,但是!我可以复制出来改它一波呀!

    哥就是自信

    改完了,就依赖关联上recycleview,完美!

    new MyCustomSnapHelper().attachToRecyclerView(mRecyclerView);

    结束

    更多详情,请前往我的github去撸,代码里面都有清楚的注释

    https://github.com/xiaofuchen/IncompleteScreenBanner

    顺手给Stars是中华人民的美德
    谢谢

    送美女一枚

    相关文章

      网友评论

        本文标题:一个不显示全屏图的banner无限自动轮播例子,利用recycl

        本文链接:https://www.haomeiwen.com/subject/fxektctx.html