在 scrollView 中左右滑动

Swipe left and right in scrollView

我在滚动视图中有一些布局。这些布局必须在左右方向上 "swipable" 但它会与 scrollView 产生一些冲突。

我试图在触摸其中一种布局时禁用 scrollView,但在那种情况下,我的 scrollView 几乎总是被禁用。

这是我的布局的样子。

我现在的情况:

private void swipePositionsEvent() {
    for(LinearLayout layout : layouts){
        layout.setOnTouchListener(new OnSwipeTouchListener(this,
                ((ScrollView)findViewById(R.id.scroll_view_confirm_games))){
            public void onSwipeRight() {
                flipper.showNext();
            }
            public void onSwipeLeft() {
                flipper.showPrevious();
            }
        });
   }

在 OnSwipeTouchListener 中:

    Override
    public boolean onTouch(View v, MotionEvent event) {
    int action = event.getAction();
    switch (action) {
        case MotionEvent.ACTION_DOWN:
            // Disallow ScrollView to intercept touch events.
            scrollView.requestDisallowInterceptTouchEvent(true);
            break;

        case MotionEvent.ACTION_UP:
            // Allow ScrollView to intercept touch events.
            scrollView.requestDisallowInterceptTouchEvent(false);
            break;
        }
        return gestureDetector.onTouchEvent(event);
    }

谢谢!

在禁用滚动视图之前检测第一个移动是水平还是垂直。