PagerAdapter简介

PagerAdapter是android.support.v4包中的类,它的子类有FragmentPagerAdapter, FragmentStatePagerAdapter,这两个adapter都是Fragment的适配器,用于实现Fragment的滑动效果,这两个adapter的使用和区别这次就先不介绍了,等下次有时间再做详细的介绍。

PagerAdapter主要是viewpager的适配器,而viewPager则也是在android.support.v4扩展包中新添加的一个强大的控件,可以实现控件的滑动效果,比如咱们在软件中常见的广告栏的滑动效果,用viewPager就可以实现。今天主要介绍如何使用viewPagr并重写PagerAdapter实现常见广告栏的滑动效果。

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);
}
}

转自:http://www.it165.net/pro/html/201403/11289.html

最新文章

  1. 分布式大数据高并发的web开发框架
  2. WebGIS中GeoHash编码的研究和扩展
  3. CSS3制作动画的三个属性
  4. dom扩展
  5. 重构Mybatis与Spring集成的SqlSessionFactoryBean(1)
  6. 通过cpu SN码注册软件类
  7. Selenium2+python自动化10-登录案例
  8. 处理11gR2 RAC集群资源状态异常INTERMEDIATE,CHECK TIMED OUT
  9. sqlservice 查询该字段的值是否为数字、不包含a-z字母、获取中文的首字母
  10. MariaDB-5.5.33a 编译安装
  11. innodb结构解析工具---innodb_ruby
  12. 解决vi编辑器不能使用方向键和退格键问题的两种方法
  13. JAVA解析XML文件(DOM,SAX,JDOM,DOM4j附代码实现)
  14. 实验与作业(Python)-04 数据类型、数学函数与字符串
  15. SpringBoot 同时整合thymeleaf html、vue html和jsp
  16. webpack入门教程--1
  17. 学习笔记 python 面向对象学习
  18. mssql,mysql,Oracle 数据库中获得UUID字符串
  19. 在 Virtual Box 中为 CentOS7 mini 配置双网卡
  20. Android学习之Intent使用

热门文章

  1. vim IDE平台-打造属于自己的配置
  2. 记录遇到的Python陷阱和注意点
  3. 我要好offer之 二叉树大总结
  4. [Top-Down Approach] Chatper 4 Notes
  5. Zookeeper 监视(Watches) 简介(转)
  6. app微信支付(一) - 微信支付基本业务流程解析
  7. Android应用程序(APK)的编译打包过程
  8. Android RecyclerView 动画展开item显示详情
  9. Entity Framework Code Migration 新建、更新数据库
  10. centos安装docker