Wednesday, 23 October 2019

ViewPager2 swipe only once on a single swipe

I want to have ViewPager stop capturing swipe events that are outside of the ViewPager container so that the user can never scroll by more than one page during a single swipe like TikTok. If you swipe Tiktok video without release touch(take two fingers and keep scroll) it will not allow to play next video.

What i did :

viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
            @Override
            public void onPageScrollStateChanged(int state) {
                super.onPageScrollStateChanged(state);
                if (state == SCROLL_INDICATOR_END) {
                    viewPager2.setUserInputEnabled(false);
                } else {
                    viewPager2.setUserInputEnabled(true);
                }
            }
        });

Suggestions are appreciated.



from ViewPager2 swipe only once on a single swipe

No comments:

Post a Comment