ViewPager2只需滑动一次即可滑动一次

时间:2019-10-21 11:42:49

标签: android android-viewpager2

我想让ViewPager停止捕获ViewPager容器之外的滑动事件,以便用户在像TikTok这样的单次滑动过程中不能滚动一页以上的内容。 如果您在滑动Tiktok视频时没有松开触摸(用两根手指保持滚动),将不允许播放下一个视频。

我做了什么:

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);
                }
            }
        });

建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用RecylcerView代替viewpager和StartSnapHelper来实现此效果。

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