Android 使用viewpager实现无限循环(定时+手动)

2019-12-10 19:51:09丽君
  • ((ViewPager) container).removeView(mViews.get(position));   }  
  • @Override  public Object instantiateItem(ViewGroup container, int position) {  
  • View view = mViews.get(position);   container.addView(view);  
  • return view;   }  
  • // 实现ViewPager.OnPageChangeListener接口   @Override 
  • public void onPageSelected(int position) {   LogUtils.logi(TAG, "onPageSelected:" + position);  
  • if ( mViews.size() > 1) { //多于1,才会循环跳转   if ( position < 1) { //首位之前,跳转到末尾(N)  
  • position = mList.size(); //注意这里是mList,而不是mViews   mViewPager.setCurrentItem(position, false);  
  • } else if ( position > mList.size()) { //末位之后,跳转到首位(1)   mViewPager.setCurrentItem(1, false); //false:不显示跳转过程的动画  
  • position = 1;   }  
  • }   }  
  • @Override  public void onPageScrolled(int position, float positionOffset,  
  • int positionOffsetPixels) {   // 什么都不干  
  • }   @Override 
  • public void onPageScrollStateChanged(int state) {   // 什么都不干  
  • }   }  
  • //在外层,将mViewPager初始位置设置为1即可   if (mAdapterCycle.getCount() > 1) { //多于1个,才循环并开启定时器  
  • mViewPager.setCurrentItem(1); //将mViewPager初始位置设置为1   startTimer(); //开启定时器,定时切换页面