Android 利用ViewPager实现图片可以左右循环滑动效果附源代码下载

2019-12-10 19:51:22王旭
  • tips[i].setBackgroundResource(R.drawable.page_indicator_unfocused);   }  
  • LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT,   LayoutParams.WRAP_CONTENT));  
  • layoutParams.leftMargin = 5;   layoutParams.rightMargin = 5;  
  • group.addView(imageView, layoutParams);   }  
  • //将图片装载到数组中   mImageViews = new ImageView[imgIdArray.length];  
  • for(int i=0; i<mImageViews.length; i++){   ImageView imageView = new ImageView(this);  
  • mImageViews[i] = imageView;   imageView.setBackgroundResource(imgIdArray[i]);  
  • }   //设置Adapter  
  • viewPager.setAdapter(new MyAdapter());   //设置监听,主要是设置点点的背景  
  • viewPager.setOnPageChangeListener(this);   //设置ViewPager的默认项, 设置为长度的100倍,这样子开始就能往左滑动  
  • viewPager.setCurrentItem((mImageViews.length) * 100);   }  
  • /**   *  
  • * @author xiaanming   *  
  • */  public class MyAdapter extends PagerAdapter{  
  • @Override  public int getCount() {  
  • return Integer.MAX_VALUE;   }  
  • @Override  public boolean isViewFromObject(View arg0, Object arg1) {  
  • return arg0 == arg1;   }  
  • @Override  public void destroyItem(View container, int position, Object object) {  
  • ((ViewPager)container).removeView(mImageViews[position % mImageViews.length]);   }  
  • /**   * 载入图片进去,用当前的position 除以 图片数组长度取余数是关键  
  • */  @Override 
  • public Object instantiateItem(View container, int position) {   ((ViewPager)container).addView(mImageViews[position % mImageViews.length], 0);  
  • return mImageViews[position % mImageViews.length];   }