Android引导页制作及ViewPager知识总结(二)
来源:互联网 发布:csgo枪支数据 编辑:程序博客网 时间:2024/05/01 13:06
自定义PagerAdapter
简介
ViewPager是一个需要绑定Adapter的控件,这篇博客主要来归纳总结PagerAdapter的几个方法以及自定义PagerAdapter。
四个必须重写的函数
我建议你先看一下这篇文章,ViewPager四大函数
这篇文章,从最原始的官方文档入手,看了之后基本能够理解PagerAdapter的四个必须重写的函数,下面还是进行归纳一下。
- instantiateItem(ViewGroup container, int position)
这个应该是这四个函数中最核心的一个,它的功能是创建指定位置的页面视图,基本上代码都写在这里面。 - destroyItem(ViewGroup container, int position,Object object)
这个函数是删除指定位置的视图,一般我们可以这样写,其中mImages是容器:
public void destroyItem(ViewGroup container, int position,Object object) { container.removeView(mImages.get(position)); }
之前在博客上看到有牛人还用了这两个
instantiateItem(View view, int position)
destroyItem(View view, int position,Object object)
这两个其实已经弃用了。
getCount():这个函数用来统计视图页数。
isViewFromObject(View view, Object object)
对于这个函数,我们一般的写法比较固定:
return view == object;
自定义PagerAdapter
只要理解了上面四个函数,自定义PagerAdapter应该不是问题了。我们新建一个myViewPagerAdapter.java文件,并定义一个视图(以ImageView为例),重写PagerAdapter的构造函数和刚才的四个函数,就可以了。代码如下:
package com.myread;import java.util.ArrayList;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;public class myViewPagerAdapter extends PagerAdapter { //需要存入的视图,这里以ImageView为例 private ArrayList<ImageView>views; //实现带一个参数的构造方法,把views存进去 public myViewPagerAdapter(ArrayList<ImageView> views) { this.views = views; } //视图个数 public int getCount() { if(views!=null){ return views.size(); } return 0; } public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(views.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(views.get(position)); return views.get(position); }}
下一篇,将来谈谈如何加入底部指示小点。
0 0
- Android引导页制作及ViewPager知识总结(二)
- Android引导页制作及ViewPager知识总结(一)
- Android引导页制作及ViewPager知识总结(三)
- Android引导页制作及ViewPager知识总结(四)
- Android ViewPager+ViewPagerIndicator制作引导页
- 用viewpager制作引导页
- Oak先生-Android中用ViewPager制作引导页
- Android ViewPager引导页
- Android ViewPager引导页
- 使用ViewPager制作Android引导界面
- Android ViewPager引导页(三)
- 使用ViewPager制作欢迎引导页
- Android ViewPager实现引导页
- android引导页viewpager实现
- Android ViewPager实现引导页
- 【Android UI设计与开发】2.引导界面(二)使用ViewPager实现欢迎引导页面
- Android之ViewPager总结(二)
- Android应用开发(2):制作一个漂亮的引导界面--viewpager的使用
- Perl之默认变量
- 【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)
- 控制面板中的管理工具提示位置不可用
- 笔记
- Servlet之验证码的实现和执行流程
- Android引导页制作及ViewPager知识总结(二)
- emacs+evil==最好用的编辑器
- android 开发LayoutInflater之我见
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
- Aventail SSL VPN设计方案
- 如何使用HBase构建NewSQL?
- 基于RPC的SOAP消息和基于Document的SOAP消息的区别
- 定位CoreLocation的基本使用
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)