引导页面 ViewPager的适配器PagerAdapter (二)

1.用ViewPager布局 

2.把要放到引导页面的图放入数组中 int [] arryimager ={R.drawble.id}

int [] arryimage={R.drawable.guide_1,R.drawable.guide_2,R.drawable.guide_3};
//2.实例化一个ImageView集合
imageViews =new ArrayList<>();
//3.便历数组
for (int x=0;x<arryimage.length;x++){
    //4.实例化ImageView
    ImageView imageView =new ImageView(this);
    //5.设置imagevie背景图路径并传入编历的数组
    imageView.setBackgroundResource(arryimage[x]);
    //6.把实例化的imageview传入集合中
    imageViews.add(imageView);
    //设置viewpager的pageradapter并传入实例化的MyPagerAdapter
    viewpager_guide.setAdapter(new MyPagerAdapter());

pagerAdapter要重写的四个方法

1.getCount()   获取图片/页面的数量

@Override
public int getCount() {
    return basePagers.size();
}

2用这二个叁数对比.判断显示的是否同一页面/图片

@Override
public boolean isViewFromObject(View view, Object object) {
    return view==object;
}

3.pagerAdapter只绶存三张图页面,如何超出就用此方法.

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
   container.removeView((View) object);
}

注:下面不去掉会挂掉

super.destroyItem(container, position, object);

4.当要显示的图片可以进行缓存的时候,会调用这个方法进行显示图片的初始化,我们将要显示的ImageView加入到ViewGroup中,然后作为返回值返回即可 

@Override
public Object instantiateItem(ViewGroup container, int position) {
   BasePager basePager= basePagers.get(position);
  View view =basePager.rootview;
  basePager.initData();
  container.addView(view);
    return view;
}




猜你喜欢

转载自blog.csdn.net/weixin_41404058/article/details/80288226