2

我有 2 个片段,我需要通过选择和拖动一些小视图来上下滚动这些片段(不选择片段中的任何位置,只有当我拖动这个视图时)。同样,我在第一个片段上有一个 OverScroll,它用动画滚动照片。我尝试使用 VerticalViewPager,但它不适合此任务,因为它与过度滚动冲突。

4

1 回答 1

1

使用VerticalViewPager, 但覆盖onInterceptTouchEvent并定义将触发片段翻转的“热点”。作为一个让你开始的例子,我已经onInterceptTouchEvent在一个自定义中覆盖了ViewPager边缘滑动仍然“翻转”片段(在我的例子中是水平的),但是内部滑动仍然传递到ViewFlipper片段内的视图

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {

            int screenW = getWidth();
            int screenH = getHeight();
            int screenWReducer = Math.round(screenW*0.5f);

            Rect rect = new Rect(
                    0 + screenWReducer,
                    0,
                    screenW - screenWReducer,
                    screenH
                    );

            if (rect.contains((int) event.getX(), (int) event.getY())) {

                return false;//Don't intercept. Left ViewFlippers get touch.

            }

            return super.onInterceptTouchEvent(event); //Edges still allow page swiping.

}
于 2014-12-11T17:08:11.580 回答