问题产生背景
在使用ViewPager实现无限轮播效果时,为了达到无缝对接的效果,我在ViewPager的最左侧(position = 0)与左右侧(position = getCount() + 1)的位置新增了两个页卡用来对应映射尾页 / 首页的页卡图片,设计效果如下:
banner.png
设计好对应的映射item效果后,我在ViewPager的onPageScrolled(int position, float positionOffset, int positionOffsetPixels)方法中对ViewPager的滑动进行了监听并通过setCurrentItem(int item, boolean smoothScroll)方法进行首页 / 尾页切换从而达到无限轮播的效果,具体代码如下:
/**
* 页卡滚动状态回调
* @param position 页卡位置 position=0,开始边界;position=getCount()-1,结束边界。
* @param positionOffset 是当前页面滑动比例,如果页面向右翻动,这个值不断变大,
* 最后在趋近1的情况后突变为0。如果页面向左翻动,这个值不断变小,最后变为0
* @param positionOffsetPixels 当前页面偏移的像素位置.
*/
@Override
public void onPageScrolled(int pos