Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7893847
  • 博文数量: 701
  • 博客积分: 2150
  • 博客等级: 上尉
  • 技术积分: 13233
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-29 16:28
个人简介

天行健,君子以自强不息!

文章分类

全部博文(701)

文章存档

2019年(2)

2018年(12)

2017年(76)

2016年(120)

2015年(178)

2014年(129)

2013年(123)

2012年(61)

分类: Android平台

2015-11-29 11:52:30

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);
    }
}
实现了这四个方法,就可以实现滑动的效果了。
阅读(2150) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~