浅谈Viewpager和轮播图的冲突解决方法

实例如下:

//解决ViewPager和轮播图滑动冲突
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
  switch (ev.getAction()) {
    case MotionEvent.ACTION_DOWN:
      // 让当前viewpager的父控件不去拦截touch事件
      getParent().requestDisallowInterceptTouchEvent(true);
      downX = (int) ev.getX();
      downY = (int) ev.getY();
      break;
    case MotionEvent.ACTION_MOVE:
      int moveX = (int) ev.getX();
      int moveY = (int) ev.getY();
      if (Math.abs(moveX - downX) >= Math.abs(moveY - downY)) {
        // 滑动轮播图
        getParent().requestDisallowInterceptTouchEvent(true);
      } else {
        // 刷新listview
        getParent().requestDisallowInterceptTouchEvent(false);
      }
      break;
  }
  return super.dispatchTouchEvent(ev);
}

以上这篇浅谈Viewpager和轮播图的冲突解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。