带货直播源码,确定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滑块滑动方向的相关代码,更多内容欢迎关注之后的文章

 

posted @ 2021-09-25 14:36  云豹科技-苏凌霄  阅读(46)  评论(0编辑  收藏  举报