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);
}
}
实现了这四个方法,就可以实现滑动的效果了。
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);
}
}
实现了这四个方法,就可以实现滑动的效果了。
相关文章推荐
- Android 基础学-4 文件目录
- Android S5PV210 camera驱动测试程序
- Android-SQLite3_2-官方文档阅读
- 基于android的Socket通信
- Android应用去掉标题栏(Android Studio)
- Andriod学习笔记2:“Your content must have a ListView whose id attribute is 'android.R.id.list'”问题的解决办法
- Android 基础学-4 Android系统提供
- Android的AsyncTask简介与示例应用
- Fragment在ViewPager中的生命周期
- Android程序签名详解、打包、发布到Google play步骤
- Android之禁止GridView上下滑动
- Android——按两次返回键退出程序
- Android之不能静态注册的系统广播(5个)
- Android之设置EditText输入类型(setInputType()方法和android:inputType属性)
- Android之设置横屏、竖屏和全屏显示
- Android之将字符串转换为MD5码
- Android之获取手机IMEI号和IMSI号
- Android之系统Log输出日志的封装类LogUtil
- Android:View Animation
- Android之自定义dialog