viewpager.addOnPageChangeListener三个重写方法参数分析
2017-04-13 14:31
537 查看
viewpager+fragment很轻松就可以搞定多页面间切换,当然在页面切换的同时我们可能会需要对viewpager进行监听,进行滑动页面后的操作,例如导航线随页面同时滑动等等。
在给viewpager加监听器的时候,发现setOnPageChangeListener已经过期了,查源码才知被addOnPageChangeListener替代了…
下面开始对viewpager.addOnPageChangeListener三个重写方法参数分析:
一、 onPageScrolled
二、onPageSelected
三、onPageScrollStateChanged
在给viewpager加监听器的时候,发现setOnPageChangeListener已经过期了,查源码才知被addOnPageChangeListener替代了…
下面开始对viewpager.addOnPageChangeListener三个重写方法参数分析:
一、 onPageScrolled
@Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { KLog.i("onPageScrolled:" + position + "===" + positionOffset + "===" + positionOffsetPixels); }
1、通过打印日志发现当页面刚打开的时候就会执行这个方法,日志输出为: onPageScrolled:0===0.0===0 2、滑动屏幕到第二页,发现在滑动过程中该方法会被多次调用,日志输出为: onPageScrolled:0===0.0037037036===4 onPageScrolled:0===0.0129629625===13 onPageScrolled:0===0.021296296===23 onPageScrolled:0===0.030555556===33 ... onPageScrolled:0===0.9962963===1076 onPageScrolled:0===0.99722224===1077 onPageScrolled:0===0.99814814===1078 onPageScrolled:0===0.9990741===1079 onPageScrolled:1===0.0===0 结论: **position-点击滑动的界面位置(viewpager界面排序为0.1.2.3....) positionOffset-滑动的页面占整个屏幕的百分比 positionOffsetPixels-屏幕像素位置**
二、onPageSelected
@Override public void onPageSelected(int position) { Klog.i("onPageSelected:"+position); }
打印日志发现,每当页面跳转完成后就会执行这个方法,方法参数: **position---跳转完成后的页面位置(viewpager界面排序为0.1.2.3....)**
三、onPageScrollStateChanged
@Override public void onPageScrollStateChanged(int state) { Klog.i("onPageScrollStateChanged:"+state); }
日志输出: onPageScrollStateChanged:1 onPageScrollStateChanged:2 onPageScrollStateChanged:0 结论: **当页面停止的时候该参数为0,页面开始滑动的时候变成了1,当手指从屏幕上抬起变为了2(无论页面是否从1跳到了2),当页面静止后又变成了0.**
相关文章推荐
- ViewPager的addOnPageChangeListener方法详解
- Viewpager的addOnPageChangeListener方法详解
- ViewPager的setOnPageChangeListener的三个方法的执行顺序
- ViewPager的addOnPageChangeListener方法详解
- ViewPager的滑动方法setOnPageChangeListener已被addOnPageChangeListener取代
- ViewPager的addOnPageChangeListener方法详解
- viewpager.setOnPageChangeListener中方法的参数详解
- [Android分享] ViewPager的setOnPageChangeListener方法详解
- ViewPager的setOnPageChangeListener方法详解
- Viewpager的setOnPageChangeListener方法详解
- ViewPager的setOnPageChangeListener方法详解
- ViewPager的setOnPageChangeListener方法详解
- ViewPager 的 setOnPageChangeListener 方法,与 setOnClickListener方法
- viewpager onpagechangelistener addonpagechangelistener
- ViewPager的setOnPageChangeListener方法详解
- ViewPager的setOnPageChangeListener方法不推荐使用
- ViewPager的setOnPageChangeListener方法详解
- ViewPager的setOnPageChangeListener方法详解
- ViewPager的setOnPageChangeListener方法详解
- ViewPager#PageChangeListener#onPageScrolled三个参数