我想让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);
}
}
});
建议表示赞赏。
答案 0 :(得分:0)
您可以使用RecylcerView代替viewpager和StartSnapHelper来实现此效果。
https://blog.mindorks.com/using-snaphelper-in-recyclerview-fc616b6833e8