1 引导页本质上是放在一个activity当中所以第一步是建立自己的activity 来承载我们的viewpager
public class WelcomeGuide extends Activity
2 自定义ViewPagerAdapter 类似于listview viewPager也需要由adapter提供内容 只是这里的adapter是pageAdapter
public class MyViewPagerAdapter extends PageAdapter
2.1 获取要呈现的数据也就是数据层的定义 最常见的便是一个view故而可以定义一个 List<view> views的集合存放要显示的view
2.2 有了数据结构之后就要决定数据结构如何呈现了 实现如下方法即可:
public Object instantiateItem (ViewGroup container, int position)
在指定的位置创建页面;适配器负责添加view到这个容器中,然而它只保证在finishUpdate(ViewGroup)返回时才完成。
public void destroyItem (ViewGroup container, int position, Object object)
删除指定位置的页面;适配器负责从view容器中删除view,然而它只保证在finishUpdate(ViewGroup)返回时才完成。
public abstract int getCount ()
返回可用的view的数量。
public abstract boolean isViewFromObject (View view, Object object)
判断页面是否跟指定的key对象关联,key对象由instantiateItem(ViewGroup, int)返回。
3 最后在activity布局当中加入viewPager的XMl定义 setContentView布局 填充数据层views数据 完成空间的代码应用 初始化viewPagerAdapter 最后给viewPager设定次Adapter即可完成。
总结:回头来看一个空间如果能够实现从其他地方拿到数据并展示出来那么这个控件就会对应一个adapter,这类空间的实现方法都是一致的
1 自定义相应的adapter,实现构造函数,重写重要的方法(获取某个位置上的View,销毁某个位置的上View,数据层总共的数据大小等)
2 在XML中定义相应的控件并在代码中饮用
3 填充数据层数据,并用其实例化adapter
4 将实例化的adapter绑定到相应的控件中
一点点思考:所以其实要做一个开发首先应该不拘泥于细节,而因把握这个功能总体上是怎么实现的 实现的基本原理,而不应该纠结于一两个参数,这样才能提高自己的思考问题的能力,不做一个顽固的码农,我认为一个人一定要会思考和总结。