无限轮播Banner的实现原理

Posted zbblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无限轮播Banner的实现原理相关的知识,希望对你有一定的参考价值。

 

技术图片

 

 

如上图所示,我们需要在原数量的图片前后添加两个占位图,分别是最后一张图和第一张图,在初始化的时候,定位到第二个位置的图片(即:实际显示的第一张图片)。

当滚动停止时,判断:

1、如果当前位置是第一个位置(即:最后一张图片的占位)时,设置scrollview的偏移量到倒数第二的位置(即:实际最后一张图)

2、如果当前位置是最后一个位置(即:第一张图片的占位)时,设置scrollview的偏移量到正数第二的位置(即:实际第一张图)

结合上图来看,就会很清楚的知道其中的原理了

当然,按照以上原理实现一般数量的轮播已经足够了,那么如果是图片数量非常之多的时候,我们不得不考虑内存问题,其实我们可以规定当前scrollview上的图片总个数,例如固定为5个,然后动态计算下一个前后图片,应该显示哪一张,总之,原理明白了,如果扩展,如何创新,那就是你自己的事了

 

以上是关于无限轮播Banner的实现原理的主要内容,如果未能解决你的问题,请参考以下文章

Android----------- Banner2 广告图片轮播ViewPager2实现

Android----------- Banner2 广告图片轮播ViewPager2实现

Android----------- Banner2 广告图片轮播ViewPager2实现

ViewPager实现无限轮播踩坑记

react 实现一个无限循环的轮播器 附github地址

android 图片轮播(banner)无限轮播