关于实现无限循环的做法

在我们的某些特定的业务需求中 ,有时需要对一定数量的图片进行无限循环的实现

例如Gallery ,ViewPager等显示图片的控件中

具体做法:(实际上是一种伪循环)

 

1.首先getcount()的方法中让它返回一个很大的值 

return Integer.MAX_VALUE;


 2. 然后这个时候 我们滑动的position就会可能很大 而总的资源数是一定的
  所以 实际的realPosition应该是position对总资源数的求余 即realPosition = position % images.size();
  这样子就能保证真正的位置都是总资源里面的数值。

 3. 当我们需要一开始的时候就可以往左滑 则可以把一开始的位置设置在中间位置即可
  例如,Viewpager.setCurrentPosition(Integer.MAX_VALUE/2-Integer.MAX_VALUE/2%images.size());(当然 这里也可以显示的给它一个固定值)

 

                                -----爱生活,爱android.

posted @ 2017-03-30 21:00  chengxu虾  阅读(416)  评论(0编辑  收藏  举报