ViewPager 滑动一半的判断方法以及左滑右滑判断实例
做项目的时候,会碰到用viewpager+fragments去实现多页滑动。有些时候需要完成:界面在滑动到一半或是一半以上的时候,需要把title之类的切换到下一个页面。这个时候仅仅依赖Viewpager的接口是不能判断,这里提供一个方法:判断viewpager是左滑还是右滑,同时对滑过一半的时候(这个参数可以调),进行相关操作。
//定义两个变量,这个两个变量是表示滑动时候,positionOffset是从大到 //小的变化,还是从小到大的变化。用于在滑动时候,避免多次调用一个方法 privatebooleanisSmallToBig=true; privatebooleanisBigToSmall=false; //记录上一次滑动的positionOffsetPixels值 privateintlastValue=-1; @Override publicvoidonPageScrolled(intposition,floatpositionOffset,intpositionOffsetPixels){ if(positionOffset!=0){ mCurrentPage=position; booleanisLeft=true; if(lastValue>=positionOffsetPixels){ //右滑 isLeft=false; }elseif(lastValueradiusOffsetHead&&!isBigToSmall){ //超过一半。如果是左滑,就-1,如果是右滑,就+1 intcurrnt=isLeft?mCurrentPage+1:mCurrentPage-1; initIndicatorView(currnt); isBigToSmall=true; isSmallToBig=false; } }
以上这篇ViewPager滑动一半的判断方法以及左滑右滑判断实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。