帶貨直播原始碼,確定ViewPager滑塊滑動方向

zhibo系統開發發表於2021-09-25

帶貨直播原始碼,確定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滑塊滑動方向的相關程式碼,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2793659/,如需轉載,請註明出處,否則將追究法律責任。

相關文章