我有一个包含3个页面的ViewPager,每个页面都有一个按钮。我可以在页面的任何位置滑动以转到下一页/上一页。如何仅在我按下该按钮而不是在页面的任何位置滑动时才能使页面滑动。
我尝试在所有视图上设置.setClickable(false)
和setEnabled(false)
,并仅在页面布局中的按钮上设置为true。但我仍然能够在屏幕上的任何地方滑动。
答案 0 :(得分:1)
您应该使用自定义viewpager禁用在hole viewpager上的滑动。
然后在视图中检测您想要的滑动手势。
答案 1 :(得分:0)
感谢大家的回复。但我自己修好了。
我在Custom ViewPager中创建了一个布尔标志,并在触摸按钮时将其设置为true(在按钮onTouchlistener
中)。在Custom ViewPager onTouchlistener
中,如果boolean为true,则启用滑动,反之亦然。
每当滑动到达任一端时,我都会将布尔值重置为false。自定义ViewPager中的onPageScrolled()
可用于检测是否将其滑动到任一端。