使用moondroid在ViewPager中一次只能滑动一个项目

时间:2017-08-10 06:15:13

标签: android reflection 3d android-viewpager

我想实现Reflection 3D效果ViewPager,我已经使用https://github.com/akhgupta/CoverFlow它工作得很好但是当我滑动它取决于触摸拦截所以2或3个项目在一次滑动时滚动。我想一次只刷一个项目而不是一个。

我尝试了很多,甚至在库中做了更改,但我没有成功。

1 个答案:

答案 0 :(得分:0)

我认为你必须下载源代码库并像模块一样添加它。然后自定义方法有功能刷卡。

示例代码:

private float initialX;
private float THRESHOLD;
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
    int action = event.getAction();
    THRESHOLD = getWidth() / 2;
    switch (action) {

        case MotionEvent.ACTION_DOWN:
            initialX = event.getX();
            break;

        case MotionEvent.ACTION_MOVE:
            float finalX = event.getX();
            float deltaX = Math.abs(finalX - initialX);
            if (deltaX > THRESHOLD) {
                return false;
            }
            break;

        case MotionEvent.ACTION_UP:
            break;

        case MotionEvent.ACTION_CANCEL:
            break;

        case MotionEvent.ACTION_OUTSIDE:
            break;
    }
    return super.dispatchTouchEvent(event);
}