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表示新页面的位置。