我将ViewPager与onTouch结合使用,因为它应该可以滚动ViewPager并单击它。但是,我不希望两者都被触发,所以我正在寻找一种方便的方法来指示OnTouch忽略触发页面滚动的MotionEvents。 我当然可以测量ACTION_DOWN和ACTION_UP之间的距离,但我想知道是否有现成的方法来帮助我。
答案 0 :(得分:1)
我找到的解决方案允许我确定是否正在进行滚动。 scrollState在ViewPager中定义了三个值:SCROLL_STATE_IDLE,SCROLL_STATE_DRAGGING和SCROLL_STATE_SETTLING。现在我可以在onTouch方法中检查scrollState并采取相应的行动。
@Override
public void onPageScrollStateChanged(int state) {
scrollState=state;
}