Fragment详解系列二ViewPager

本文是Fragment详解系列的第二部分,专注于ViewPager的使用。介绍了ViewPager的基本概念,如预加载页面数、子页面偏移量和PageTransformer。重点讲述了如何通过setPageTransformer和PagerAdapter实现炫酷的页面切换动画,包括页面缩小、模糊和放大、清晰的过程。并提供了源代码实现。
摘要由CSDN通过智能技术生成

本文章是Fragment详解系列中的第二篇。本文将以一个炫耀式的View切换来详解ViewPager的使用。

先来了解下ViewPager的基本使用,ViewPager使用场景即是多个View直接可以进行切换。ViewPager关联的最重要的就是PageTransformer 和 PagerAdapter,后续会进行详解。

ViewPager中主要使用的方法解析如下:
setOffscreenPageLimit: 可以理解为缓存中保存的页面数目(除去当前页面),就是预加载页面个数。例如设置为 2,则除了当前页面,预先加载到缓存中的还有2个页面,即是前后2个页面。也就是除了当前显示的页面,前后2个页面已经准备完毕,当左或者右滑动切换的时候不用再加载。
setPageMargin:子页面偏离父亲距离。
setPageTransformer:设置滑动动作。
**setAdapter:**PageView的适配器。

ViewPager.PageTransformer:这个类必须实现transformPage(View page, float position) ,各种切花VIEW的动画效果就在这个方法实现了。View 是 ViewPager中的 view对象,position是本page所在的位置。当前page为0,左边的page为-1,右边的page为1。因此position的范围为【-1,1】。
PagerAdapter:本适配器必须实现4个方法,入下面代码:

 mViewPager.setAdapter(new PagerAdapter() {
            @Override
            public int getCount() {
                return imageRels.length;//ViewPager中page的个数
            }

            //本方法就是向ViewPager中增加page了
            @Override
            public Object instantiateItem(ViewGroup container, int position) {
                ImageView imageView = new ImageView(ViewPagerActivity.this);
                imageView.setImageResource(imageRels[position]);
                container.addView(imageView);
                return imageView;
            }

            @Override
            public void destroyItem(ViewGroup container, int position, Object object) {
                container.removeView((View)object);
            }

            //
            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值