关于无限循环viewpager结合Indicator使用,Indicator初始化,圆圈跳动
一句话不割。
源代码:
adpater = new MyPagerAdapter(getSupportFragmentManager());
viewpager = (ViewPager) findViewById(R.id.pager);
viewpager.setAdapter(adpater);
indicator = (LoopCirclePageIndicator) findViewById(R.id.yIndicator1);
indicator.setViewPager(viewpager,Config.Image_Flip_Start * size);
如果发生跳动行为,那是因为:indicator.setViewPager(viewpager,Config.Image_Flip_Start * size),因为要无限循环(假循环,其实可滑到底),所以后面那个参数是设置viewpager的当前页,让其显示当前页为几百页,进入indicator类里面找到该方法
代码:
@Override
public void setViewPager(ViewPager view, int initialPosition) {
setViewPager(view);
setCurrentItem(initialPosition);
}
setCurrentItem(initialPosition)里面有个mViewPager.setCurrentItem(item);,这里设置mViewPager的当前页,默认有滑动效果,将其改为:mViewPager.setCurrentItem(item,false)即可,这样viewpager没有滑动效果,indicator也就没有跳动情况发生了;
代码:
@Override
public void setCurrentItem(int item) {
if (mViewPager == null) {
throw new IllegalStateException("ViewPager has not been bound.");
}
mViewPager.setCurrentItem(item);
mCurrentPage = item;
invalidate();
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。