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文件

自定义要切换的Fragment

定义适配器

再看Activity 

自定义的带圆角的蓝条:

实现效果:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容