您的位置:首页 > 移动开发 > Android开发

Android的PagerAdapter类简介

2015-11-29 11:52 393 查看
PagerAdapter简介

PagerAdapter是android.support.v4包中的类,

它的子类有FragmentPagerAdapter, FragmentStatePagerAdapter,

这两个adapter都是Fragment的适配器,用于实现Fragment的滑动效果,

PagerAdapter主要是viewpager的适配器,

而viewPager则也是在android.support.v4扩展包中新添加的一个强大的控件,

可以实现控件的滑动效果。

比如咱们在软件中常见的广告栏的滑动效果,用viewPager就可以实现。

这里主要介绍如何使用viewPagr并重写PagerAdapter实现常见广告栏的滑动效果。

首先,如果继承pageradapter,至少必须重写下面的四个方法

1). instantiateItem(ViewGroup, int)

2). destroyItem(ViewGroup, int, Object)

3). getCount()

4). isViewFromObject(View, Object)

下面我们以代码的形式,说明这四个方法的含义以及如何使用

private class ViewPagerAdapter extends PagerAdapter {

/* 获取要滑动的控件的数量,

* 在这里我们以滑动的广告栏为例,那么这里就应该是展示的广告图片的ImageView数量

*/

@Override

public int getCount() {

return images.size();

}

// 来判断显示的是否是同一张图片,这里我们将两个参数相比较返回即可

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

return arg0 == arg1;

}

/* PagerAdapter只缓存三张要显示的图片,

* 如果滑动的图片超出了缓存的范围,就会调用这个方法,将图片销毁

*/

@Override

public void destroyItem(ViewGroup view, int position, Object object) {

view.removeView(images.get(position));

}

/* 当要显示的图片可以进行缓存的时候,会调用这个方法进行显示图片的初始化,

* 我们将要显示的ImageView加入到ViewGroup中,然后作为返回值返回即可

*/

@Override

public Object instantiateItem(ViewGroup view, int position) {

view.addView(images.get(position));

return images.get(position);

}

}

实现了这四个方法,就可以实现滑动的效果了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: