Android 处理事件冲突 通过requestDisallowInterceptTouchEvent方法来决定谁处理

Android 处理事件冲突 通过requestDisallowInterceptTouchEvent方法来决定谁处理

 

/**
 * 记录起始坐标
 */
float startX;
float startY;
// 记录偏移量,然后判断滑动方向
int dX = (int) (event.getX() - startX);
int dY = (int) (event.getY() - startY);
if (Math.abs(dX) > Math.abs(dY)) {
    getParent().requestDisallowInterceptTouchEvent(true);
    //左右滑动
} else {
    //上下滑动
    getParent().requestDisallowInterceptTouchEvent(false);
}