0

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.

Tushar Lathiya
  • 940
  • 9
  • 26

1 Answers1

-1

You can use a RecylcerView instead of a viewpager and a StartSnapHelper to achieve this effect.

https://blog.mindorks.com/using-snaphelper-in-recyclerview-fc616b6833e8

Lukas
  • 812
  • 1
  • 14
  • 43