ViewPager实现无限循环 基础请看 http://blog.csdn.net/Just_Sanpark/article/details/17436037
按照博客上的写出来会出现动画还没执行完就跳变的情况。Activity中实现
ViewPager.OnPageChangeListener 监听器,修改监听方法如下:
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//LogUtil.i("测试PageSelect" , "执行");
if(positionOffset != 0){
return;
}
if (banners.size() > 1) { //多余1,才会循环跳转
if (position < 1) {
position = banners.size();
mViewPager.setCurrentItem(position, false);
LogUtil.i("onPageSelected position == " , mViewPager.getCurrentItem()+"");
} else if (position > banners.size()) {
position = 1;
mViewPager.setCurrentItem(position, false); //false:不显示跳转过程的动画
LogUtil.i("onPageSelected position == " , mViewPager.getCurrentItem()+"");
}
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
按照博客上的写出来会出现动画还没执行完就跳变的情况。Activity中实现
ViewPager.OnPageChangeListener 监听器,修改监听方法如下:
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//LogUtil.i("测试PageSelect" , "执行");
if(positionOffset != 0){
return;
}
if (banners.size() > 1) { //多余1,才会循环跳转
if (position < 1) {
position = banners.size();
mViewPager.setCurrentItem(position, false);
LogUtil.i("onPageSelected position == " , mViewPager.getCurrentItem()+"");
} else if (position > banners.size()) {
position = 1;
mViewPager.setCurrentItem(position, false); //false:不显示跳转过程的动画
LogUtil.i("onPageSelected position == " , mViewPager.getCurrentItem()+"");
}
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}