ViewPager本身并不支持无限循环,网络关于无限循环的原理主要有两种:1.假的无限循环;2.取最大值方案。第2种方案没尝试,本文采用第一种方案封装了一个可无限循环的ViewPager,用于Fragment的无限循环,同样也应该适用于View的无限循环,只需适配用于PagerAdapter即可(Fragment适配FragmentPagerAdapter)。该方案在FragmentActivity中进行封装,原理如下:
在集合的第一个位置和最后 个位置分别添加最后一个数据要表现的界面和第一数据要表现的界面,如图:
5 0 1 2 3 4 5 0
下面讲CircularFragmentActivity的具体封装,代码如下:
/**
*