Android关于PagerAdapter的使用方法的总结
来源:互联网 发布:v板htcm8刷通网络 编辑:程序博客网 时间:2024/06/06 07:23
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)
下面我们以代码的形式,说明这四个方法的含义以及如何使用
01.
private
class
ViewPagerAdapter
extends
PagerAdapter {
02.
03.
// 获取要滑动的控件的数量,在这里我们以滑动的广告栏为例,那么这里就应该是展示的广告图片的ImageView数量
04.
@Override
05.
public
int
getCount() {
06.
return
images.size();
07.
}
08.
09.
// 来判断显示的是否是同一张图片,这里我们将两个参数相比较返回即可
10.
@Override
11.
public
boolean
isViewFromObject(View arg0, Object arg1) {
12.
return
arg0 == arg1;
13.
}
14.
15.
// PagerAdapter只缓存三张要显示的图片,如果滑动的图片超出了缓存的范围,就会调用这个方法,将图片销毁
16.
@Override
17.
public
void
destroyItem(ViewGroup view,
int
position, Object object) {
18.
view.removeView(images.get(position));
19.
}
20.
21.
// 当要显示的图片可以进行缓存的时候,会调用这个方法进行显示图片的初始化,我们将要显示的ImageView加入到ViewGroup中,然后作为返回值返回即可
22.
@Override
23.
public
Object instantiateItem(ViewGroup view,
int
position) {
24.
view.addView(images.get(position));
25.
return
images.get(position);
26.
}
27.
}
实现了这四个方法,就可以实现滑动的效果了。
0 0
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- Android关于PagerAdapter的使用方法的总结
- 【Android进阶】关于PagerAdapter的使用方法的总结
- 关于PagerAdapter的使用方法的总结
- 关于PagerAdapter的使用方法的总结
- JavaScript面向对象-原型的重写
- 备份远程服务器的 oracle
- Deep Learning(深度学习)神经网络为啥可以识别呢?
- Json的解析
- 从零开始学java第一章 认识java
- Android关于PagerAdapter的使用方法的总结
- Struts2常用标签总结
- Cannot change version of project facet Dynamic web module to 2.x
- NET命令
- 大话通信发展历史—— 0 和 1 的进化
- 法线变换详解(Normal Transform)
- 3.Maven环境变量的设置
- C# Dictionary中做Key的类应该注意重写getHashCode和Equals
- Spring 定时任务配置以及用法,定时任务时间表达式