思路 复写RecycleView的InterceptTouchEvent()方法,代码如下:
public class MyRecyclerView extends RecyclerView {
private int touchSlop;
private Context mContext;
private int INVALID_POINTER = -1;
private int scrollPointerId = INVALID_POINTER;
private int initialTouchX;
private int initialTouchY;
public MyRecyclerView(Context context) {
this(context, null);
}
public MyRecyclerView(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public MyRecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
ViewConfiguration vc = ViewConfiguration.get(context);
touchSlop = vc.getScaledEdgeSlop();
mContext = context;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent e) {
if (e == null) {
retur