带货直播源码,确定ViewPager滑块滑动方向
带货直播源码,确定ViewPager滑块滑动方向的相关代码
根据业务需求 , 有时候需要知道viewpager是向左滑动还是向右滑动 .
思路 : onPageScrolled()有三个参数:position代表ViewPager的下标,如果向左滑动position的值等于ViewPager当前下标,如果向右滑动position的值等于ViewPager当前下标减1(也就是上一页的下标),既然我们知道了position的值,我们就可以拿ViewPager.getCurrentItem()方法(获取ViewPager当前的下标);在onPageScrollStateChanged(int state)方法中把ViewPager.getCurrentItem()的值赋给一个全局变量。
具体方法如下:
1. 在 mViewPager.addOnPageChangeListener()的onPageScrollStateChanged方法中获取当前item的index;
2. 在 mViewPager.addOnPageChangeListener()的onPageScrolled方法中通过position和上面获取的index比较,来判断滑动的方向;
具体代码:
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (position == currentIndex) {
Log.d("LYX", "左滑");
}
if (position == currentIndex - 1) {
Log.d("LYX", "右滑");
}
}
@Override
public void onPageSelected(int position) { }
@Override
public void onPageScrollStateChanged(int state) {
switch (state) {
case 0://什么都没做
break;
case 1://开始滑动
currentIndex = mViewPager.getCurrentItem();
break;
case 2://滑动结束
break;
default:
break;
}
}
});
以上就是 带货直播源码,确定ViewPager滑块滑动方向的相关代码,更多内容欢迎关注之后的文章