温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 关于无限循环viewpager结合Indicator使用,Indicator初始化,圆圈跳动

关于无限循环viewpager结合Indicator使用,Indicator初始化,圆圈跳动

发布时间:2020-07-28 21:28:39 来源:网络 阅读:536 作者:海太帅 栏目:开发技术

一句话不割。

源代码:

     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();

}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI