欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-10-24 17:27:34
实例如下: //解决viewpager和轮播图滑动冲突 @override public boolean dispatchtouchevent(motione...

实例如下:

//解决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和轮播图的冲突解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。