android.widget.ListView.onInterceptTouchEvent()方法的使用及代码示例

x33g5p2x  于2022-01-23 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(133)

本文整理了Java中android.widget.ListView.onInterceptTouchEvent()方法的一些代码示例,展示了ListView.onInterceptTouchEvent()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ListView.onInterceptTouchEvent()方法的具体详情如下:
包路径:android.widget.ListView
类名称:ListView
方法名:onInterceptTouchEvent

ListView.onInterceptTouchEvent介绍

暂无

代码示例

代码示例来源:origin: ksoichiro/Android-ObservableScrollView

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  if (hasNoCallbacks()) {
    return super.onInterceptTouchEvent(ev);
  }
  switch (ev.getActionMasked()) {
    case MotionEvent.ACTION_DOWN:
      // Whether or not motion events are consumed by children,
      // flag initializations which are related to ACTION_DOWN events should be executed.
      // Because if the ACTION_DOWN is consumed by children and only ACTION_MOVEs are
      // passed to parent (this view), the flags will be invalid.
      // Also, applications might implement initialization codes to onDownMotionEvent,
      // so call it here.
      mFirstScroll = mDragging = true;
      dispatchOnDownMotionEvent();
      break;
  }
  return super.onInterceptTouchEvent(ev);
}

代码示例来源:origin: xmuSistone/VerticalSlideFragment

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  if (ev.getAction() == MotionEvent.ACTION_DOWN) {
    downX = ev.getRawX();
    downY = ev.getRawY();
    isAtTop = isAtTop();
    scrollMode = MODE_IDLE;
    getParent().requestDisallowInterceptTouchEvent(true);
  } else if (ev.getAction() == MotionEvent.ACTION_MOVE) {
    if (scrollMode == MODE_IDLE) {
      float xDistance = Math.abs(downX - ev.getRawX());
      float yDistance = Math.abs(downY - ev.getRawY());
      if (xDistance > yDistance && xDistance > mTouchSlop) {
        scrollMode = MODE_HORIZONTAL;
      } else if (yDistance > xDistance && yDistance > mTouchSlop) {
        scrollMode = MODE_VERTICAL;
        if (downY < ev.getRawY() && isAtTop) {
          getParent().requestDisallowInterceptTouchEvent(false);
          return true;
        }
      }
    }
  }
  return super.onInterceptTouchEvent(ev);
}

代码示例来源:origin: UweTrottmann/SeriesGuide

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  if (!mDragEnabled) {
    return super.onInterceptTouchEvent(ev);
    if (super.onInterceptTouchEvent(ev)) {
      mListViewIntercepted = true;
      intercept = true;

代码示例来源:origin: UweTrottmann/SeriesGuide

break;
case ON_INTERCEPT_TOUCH_EVENT:
  super.onInterceptTouchEvent(mCancelEvent);
  break;

代码示例来源:origin: derry/delion

@Override
public boolean onInterceptTouchEvent(MotionEvent e) {
  // Ignore touch events if we're not scrolling.
  if (!mCanScrollVertically) return false;
  return super.onInterceptTouchEvent(e);
}

代码示例来源:origin: Hankkin/SwipeRefreshDemo

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  return super.onInterceptTouchEvent(ev);
}

代码示例来源:origin: Gracker/SlideDelete-ListView

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  return isSlide || super.onInterceptTouchEvent(ev);
}

代码示例来源:origin: xxxtai/Android-CourierAssistant

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  return super.onInterceptTouchEvent(ev);
}

代码示例来源:origin: UweTrottmann/SeriesGuide

break;
case ON_INTERCEPT_TOUCH_EVENT:
  super.onInterceptTouchEvent(mCancelEvent);
  break;

代码示例来源:origin: luhaoaimama1/zone-sdk

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  switch (ev.getAction()) {
  case MotionEvent.ACTION_DOWN :
    Log.i(TAG, "onInterceptTouchEvent ACTION_DOWN");
    break;
  case MotionEvent.ACTION_MOVE:
    Log.i(TAG, "onInterceptTouchEvent ACTION_MOVE");
    break;
  case MotionEvent.ACTION_UP:
    break;
  default:
    break;
  }
  return super.onInterceptTouchEvent(ev);
}
private int downx,downy;

代码示例来源:origin: TUBB/SwipeMenu

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  boolean isIntercepted = super.onInterceptTouchEvent(ev);
  int action = ev.getActionMasked();
  switch (action) {
    case MotionEvent.ACTION_DOWN:
      isIntercepted = mHelper.handleListDownTouchEvent(ev, isIntercepted);
      break;
  }
  return isIntercepted;
}

代码示例来源:origin: luhaoaimama1/zone-sdk

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  Log.i(TAG, "onInterceptTouchEvent");
  switch (ev.getAction()) {
  case MotionEvent.ACTION_DOWN :
    Log.i(TAG, "onInterceptTouchEvent ACTION_DOWN");
    break;
  case MotionEvent.ACTION_MOVE:
    Log.i(TAG, "onInterceptTouchEvent ACTION_MOVE");
    break;
  case MotionEvent.ACTION_UP:
    Log.i(TAG, "onInterceptTouchEvent ACTION_UP");
    break;
  default:
    break;
  }
  return super.onInterceptTouchEvent(ev);
}
@Override

代码示例来源:origin: luhaoaimama1/zone-sdk

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  Log.i(TAG, "onInterceptTouchEvent ");
  switch (ev.getAction()) {
  case MotionEvent.ACTION_DOWN :
    Log.i(TAG, "onInterceptTouchEvent ACTION_DOWN");
    break;
  case MotionEvent.ACTION_MOVE:
    Log.i(TAG, "onInterceptTouchEvent ACTION_MOVE");
    break;
  case MotionEvent.ACTION_UP:
    Log.i(TAG, "onInterceptTouchEvent ACTION_UP");
    break;
  default:
    break;
  }
  return super.onInterceptTouchEvent(ev);
}
@Override

代码示例来源:origin: luhaoaimama1/zone-sdk

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  Log.i(TAG, "onInterceptTouchEvent");
  switch (ev.getAction()) {
  case MotionEvent.ACTION_DOWN :
    Log.i(TAG, "onInterceptTouchEvent ACTION_DOWN");
    break;
  case MotionEvent.ACTION_MOVE:
    Log.i(TAG, "onInterceptTouchEvent ACTION_MOVE");
    break;
  case MotionEvent.ACTION_UP:
    Log.i(TAG, "onInterceptTouchEvent ACTION_UP");
    break;
  default:
    break;
  }
  return super.onInterceptTouchEvent(ev);
}
@Override

代码示例来源:origin: com.albedinsky.android/ui-widget-collection

/**
 */
@Override
public boolean onInterceptTouchEvent(@NonNull MotionEvent event) {
  this.ensureDecorator();
  return mDecorator.onInterceptTouchEvent(event) || super.onInterceptTouchEvent(event);
}

代码示例来源:origin: com.albedinsky.android/ui

/**
 */
@Override
public boolean onInterceptTouchEvent(@NonNull MotionEvent event) {
  this.ensureDecorator();
  return mDecorator.onInterceptTouchEvent(event) || super.onInterceptTouchEvent(event);
}

代码示例来源:origin: matrixxun/PullToZoomInListView

public boolean onInterceptTouchEvent(MotionEvent ev) {
  if (!mZoomable) {
    return super.onInterceptTouchEvent(ev);
  }
  switch (ev.getAction()) {
    case MotionEvent.ACTION_DOWN:
      mActivePointerId = ev.getPointerId(0);
      mMaxScale = ((float) mScreenHeight) / ((float) mHeaderHeight);
      break;
    case MotionEvent.ACTION_UP:
    case MotionEvent.ACTION_CANCEL:
      reset();
      break;
    case MotionEvent.ACTION_POINTER_DOWN:
      mActivePointerId = ev.getPointerId(ev.getActionIndex());
      break;
    case MotionEvent.ACTION_POINTER_UP:
      onSecondaryPointerUp(ev);
      break;
  }
  return super.onInterceptTouchEvent(ev);
}

代码示例来源:origin: h6ah4i/android-scrollableviewpagercontent

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  if (ensureDelegator().onInterceptTouchEvent(this, ev)) {
    return true;
  }
  return super.onInterceptTouchEvent(ev);
}

代码示例来源:origin: vanilla-music/vanilla

/**
 * Intercepted touch event from ListView
 * We will use this callback to send fake X-coord events if
 * the actual event happened in the protected area (eg: the hardcoded fastscroll area)
 */
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  if (mEdgeProtectStartPx == 0)
    mEdgeProtectStartPx = getWidth() - PROTECT_START_DP * Resources.getSystem().getDisplayMetrics().density;
  if (mEdgeProtectEndPx == 0)
    mEdgeProtectEndPx = getWidth() - PROTECT_END_DP * Resources.getSystem().getDisplayMetrics().density;
  if (ev.getX() > mEdgeProtectStartPx && ev.getX() < mEdgeProtectEndPx) {
    // Cursor is in protected area: simulate an event with a faked x coordinate
    ev = MotionEvent.obtain(ev.getDownTime(), ev.getEventTime(), ev.getAction(), mEdgeProtectStartPx, ev.getY(), ev.getMetaState());
  }
  return super.onInterceptTouchEvent(ev);
}

代码示例来源:origin: wutq/AndroidModuleDemo

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
  switch (ev.getAction()) {
    case MotionEvent.ACTION_MOVE:
      float Y = ev.getY();
      float Ys = Y - oldY;
      int[] location = new int[2];
      getLocationInWindow(location);
      //滑动到顶部让父控件重新获得触摸事件
      if (Ys > 0 && currentPosition == 0) {
        getParent().getParent().requestDisallowInterceptTouchEvent(false);
      }
      break;
    case MotionEvent.ACTION_DOWN:
      getParent().getParent().requestDisallowInterceptTouchEvent(true);
      oldY = ev.getY();
      break;
    case MotionEvent.ACTION_UP:
      getParent().getParent().requestDisallowInterceptTouchEvent(true);
      break;
    default:
      break;
  }
  return super.onInterceptTouchEvent(ev);
}

相关文章

ListView类方法