content: package tv.baokan.baokanandroid.widget;
  
  import android.content.Context;
  import android.util.AttributeSet;
  import android.view.MotionEvent;
  import android.view.ViewConfiguration;
  import android.widget.HorizontalScrollView;
  import android.widget.ScrollView;
  
  /**
   * 解决scrollView嵌套recyclerView滚动不顺畅问题
   */
  public class CustomerScrollView extends ScrollView {
  
      private int downY;
      private int mTouchSlop;
  
      public CustomerScrollView(Context context) {
          super(context);
          mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
      }
  
      public CustomerScrollView(Context context, AttributeSet attrs) {
          super(context, attrs);
          mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
      }
  
      public CustomerScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
          super(context, attrs, defStyleAttr);
          mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
      }
  
      @Override
      public boolean onInterceptTouchEvent(MotionEvent e) {
          int action = e.getAction();
          switch (action) {
              case MotionEvent.ACTION_DOWN:
                  downY = (int) e.getRawY();
                  break;
              case MotionEvent.ACTION_MOVE:
                  int moveY = (int) e.getRawY();
                  if (Math.abs(moveY - downY) > mTouchSlop) {
                      return true;
                  }
          }
          return super.onInterceptTouchEvent(e);
      }
  
  }
  