ViewPager的滑动监听事件

1.要监听滑动事件,可以实现接口或者实现内部类的方式进行

 如果用接口的话,一定要将ViewPager注册事件

1 mViewPager.setOnPageChangeListener(this);

2.实现接口就需要实现接口中未实现的方法,PagechangeListener的接口中有三个方法

  ①onPageScrollStateChanged(int arg0)   

   当页面的滑动状态改变时该方法会被触发,页面的滑动状态有3个:“0”表示什么都不做,“1”表示开始滑动,“2”表示结束滑动。

  ②onPageScrolled(int position, float positionOffset, int positionOffsetPixels)

   此方法在滑动ViewPager的时候一直被调用,页面在滑动过程中不停触发该方法:“position”按照api的解释是“目前显示在屏幕上的第一个页面,只要positionOffset不为0,那么他后面的页面同样是可见的”

       第一页~第二页

       position = 0

       positionOffset  0.0 ~ 1.0

       第二页~第一个 

       position = 0

       positionOffset  1.0 ~ 0.0

       通过上面的结果,由于position的值在切换第一页和第二页的时候没有变化,就可以同过position+1得到右边的view,通过position拿到左边的view

       position                   不论是滑动还是静止,他表示的都是屏幕最左边的页面

       positionOffset           移量的百分比

       positionOffsetPixels   偏移量的数值

  ③onPageSelected(int position):

        ViewPager跳转到新页面时触发该方法,position表示新页面的位置。

原文地址:https://www.cnblogs.com/dukc/p/5111727.html