Android开发:ViewPager的回调接口解析
2018-05-17 本文已影响0人
梦幻世界wjl
前言
1.viewPager很关键需要关注的是页面滑动,在这里对滑动事件的接口OnPageChangeListener()进行一个分析
目录
1.滑动接口
- viewPager中的滑动接口:OnPageChangeListener()
- 在OnPageChangeListener()中必须要复写的三个方法
- onPageScrollStateChanged(int state)
- onPageSelected(int position)
- onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
2.复写方法介绍
2.1 onPageScrollStateChanged(int state)
- 方法调用:在页面状态改变时
页面的状态时分为:静止、滑动时、滑动后
- 参数说明:state = 页面状态,页面的每个状态如下:
- ViewPager.SCROLL_STATE_SETTLING:表示的是自然沉淀后静止的时候
- ViewPager.SCROLL_STATE_DRAGGING:表示的是页面处于滑动时候
- ViewPager.SCROLL_STATE_IDLE:表示的是页面滑动结束,相对于滑动后
这三个调用的顺序是ViewPager.SCROLL_STATE_DRAGGING-->ViewPager.SCROLL_STATE_SETTLING-->ViewPager.SCROLL_STATE_IDLE 这样的一个循序
2.2 onPageSelected(int position)
- 方法调用:页面跳转完后调用
- 参数说明:position = 当前选中页的位置
2.3 onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
- 方法调用:当页面滑动时到页面被停止之前一直都会被调用
- 参数说明:
- position:向左滑动的话,position是当前页面的索引值,向右滑动的话,position是当前页面的前一个页面的索引值
- positionOffset:向左滑动的话,positionOffset是从0无限趋向于1,向右滑动的话,positionOffset是从0.99逐渐减小为0,这个通常作为百分比来用,可以理解为向左滑动就是基于当前页面下一个页面的百分比在逐渐增加,向右滑动的话即使基于当前页面的前面一个页面逐渐减小
- positionOffsetPixels:类似于positionOffset,只是这个的值是基于屏幕的px值的