Android-ViewPager

        viewpager是啥嘞,是一个页面切换的组件,可以往里面填充多个View,然后可以通过触摸屏幕左右滑动来切换不同的view,需要一个Adapter,将要显示的view和viewpager进行绑定,而viewpager有他自己特定的adapter:PagerAdapter,google官方建议我们使用fragment填充viewpager,这样可以方便的生成每个page以及管理每个page的生命周期,它有两个不同的adapter,他们分别是FragmentPageAdapter和FragmentStatePagerAdapter。顺便说下ViewPager的缓存机制:它会缓存当前页,前一页,以及后一页,比如有4个页面,当处于第一页时,缓存第一、第二页;当处于第二页时,缓存第一、第二、第三页;当处于第三页时,缓存第二、第三、第四页;当处于第四页时,缓存第三、第四页。

PagerAdapter要重写的方法:

1.getCount():获得viewpager中有多少个view;

2.destroyItem():移除一个给定位置的页面,适配器可以从容器中删除这个视图,为了确保在finishUpdate(viewGroup)返回时视图能够被移除;

3.instantiateItem():将给定位置的view添加到viewgroup中,创建并显示出来;返回一个代表新增页面的object(key),通常都是直接返回view本身就可以了,当然也可以自定义自己的key,但是key和view要一一对应;

4.isViewFromObject():判断instantiateItem(ViewGroup ,int)函数所返回来的key与一个页面视图是否是代表的同一个视图,通常直接写return view==object就可以了。

一个栗子:

activity_viewpager.xml文件

Android-ViewPager_第1张图片
Android-ViewPager_第2张图片
Android-ViewPager_第3张图片

自定义要切换的Fragment

Android-ViewPager_第4张图片

定义适配器

Android-ViewPager_第5张图片

再看Activity 

Android-ViewPager_第6张图片
Android-ViewPager_第7张图片
Android-ViewPager_第8张图片
Android-ViewPager_第9张图片

自定义的带圆角的蓝条:

Android-ViewPager_第10张图片

实现效果:

Android-ViewPager_第11张图片

你可能感兴趣的:(Android-ViewPager)