天天看点

ViewPager onPageChangeListener参数详解

在处理ViewPager滑动事件时候,用到了onPageChangeListener接口,这个接口要实现三个方法分别是:

1、onPageScrollStateChanged

2、onPageScrolled 

3、onPageSelected

下面对以上三个方法的参数一一做个讲解,以便开发中灵活使用,在上一篇自定义标题下平滑线的时候,就用到了里面一个参数,很好的处理了下划线平缓的动画效果。

1、onPageScrollStateChanged(int arg0)   ,此方法是在状态改变的时候调用,其中arg0这个参数三个值(0,1,2),代表三个状态。arg0 为1的时候默示正在滑动,arg0为2的时候默示滑动完毕了,arg0为0的时候默示什么都没做,当页面开始滑动的时候,三种状态的变化顺序为(1 — 2 — 0)。

ViewPager onPageChangeListener参数详解

2、onPageScrolled(int arg0,float arg1,int arg2)  ——当页面在滑动的时候会调用此方法,在滑动被停止之前,此方法会一直得到调用。

打印日志

ViewPager onPageChangeListener参数详解

其中三个参数的含义分别为:

arg0 :arg0值分为两种情况,页面向左向右(对应手指向右向左滑)滑动,手指向左滑动,viewpager从位置1滑动到位置2,arg0的值为1;手指向右滑动,viewpager从位置1滑动到位置0,那么arg0的值为0,大家不要误认为arg0就是当前滑动页面的位置编号。

arg1:当前页面偏移的百分比,也分为两种情况,手指向左滑动,从零到百分之百,手指向右滑动,从百分之百到零,这个有很多用处,可以做一些相关的动画,比如上篇博客中的标题下划线滑动效果。

arg2:当前页面偏移的像素位置,也分为两种情况,手指向左滑动,偏移量arg2从零增大,手指向右滑动,偏移量arg2从一定的像素值减小

3、onPageSelected( int  arg0) :   此方法是页面跳转成功后调用的,arg0是你当前选中的页面的Position(位置编号),比如viewpager从位置1滑动到位置2,那么arg0的值为2。