android.view.MotionEvent.getEventTime()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(12.2k)|赞(0)|评价(0)|浏览(348)

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

MotionEvent.getEventTime介绍

暂无

代码示例

代码示例来源:origin: robolectric/robolectric

public void set(MotionEvent event) {
 pointerCount = event.getPointerCount();
 pointerIds = new int[pointerCount];
 x.clear();
 y.clear();
 for (int i = 0; i < pointerCount; i++) {
  pointerIds[i] = event.getPointerId(i);
  x.put(pointerIds[i], event.getX(i));
  y.put(pointerIds[i], event.getY(i));
 }
 activePointerId = event.getPointerId(0);
 eventTime = event.getEventTime();
}

代码示例来源:origin: alexvasilkov/GestureViews

private static MotionEvent obtainOnePointerEvent(@NonNull MotionEvent event) {
  return MotionEvent.obtain(event.getDownTime(), event.getEventTime(), event.getAction(),
      event.getX(), event.getY(), event.getMetaState());
}

代码示例来源:origin: sephiroth74/ImageViewZoom

@Override
public boolean onTouchEvent(MotionEvent event) {
  if (getBitmapChanged()) {
    return false;
  }
  final int action = event.getActionMasked();
  if (action == MotionEvent.ACTION_POINTER_UP) {
    mPointerUpTime = event.getEventTime();
  }
  mScaleDetector.onTouchEvent(event);
  if (!mScaleDetector.isInProgress()) {
    mGestureDetector.onTouchEvent(event);
  }
  switch (action) {
    case MotionEvent.ACTION_UP:
      return onUp(event);
    default:
      break;
  }
  return true;
}

代码示例来源:origin: tumblr/Backboard

if (event.getEventTime() - event.getDownTime()
    > ViewConfiguration.getLongPressTimeout()) {
  v.setPressed(false);

代码示例来源:origin: tumblr/Backboard

if (event.getHistorySize() > 0) {
  mime(offset, value, delta,
      event.getEventTime() - event.getHistoricalEventTime(0), event);
} else {
  mime(offset, value, delta, 0, event);

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
  public void onShowPress(MotionEvent event) {
//        logger.log(Level.INFO, "onShowPress pointerId: {0}, action: {1}, x: {2}, y: {3}",
//                new Object[]{touchInput.getPointerId(event), touchInput.getAction(event), event.getX(), event.getY()});
    float jmeX = touchInput.getJmeX(event.getX());
    float jmeY = touchInput.invertY(touchInput.getJmeY(event.getY()));
    TouchEvent touchEvent = touchInput.getFreeTouchEvent();
    touchEvent.set(TouchEvent.Type.SHOWPRESS, jmeX, jmeY, 0, 0);
    touchEvent.setPointerId(touchInput.getPointerId(event));
    touchEvent.setTime(event.getEventTime());
    touchEvent.setPressure(event.getPressure());
    touchInput.addEvent(touchEvent);
  }

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
  public void onLongPress(MotionEvent event) {
//        logger.log(Level.INFO, "onLongPress pointerId: {0}, action: {1}, x: {2}, y: {3}",
//                new Object[]{touchInput.getPointerId(event), touchInput.getAction(event), event.getX(), event.getY()});
    float jmeX = touchInput.getJmeX(event.getX());
    float jmeY = touchInput.invertY(touchInput.getJmeY(event.getY()));
    TouchEvent touchEvent = touchInput.getFreeTouchEvent();
    touchEvent.set(TouchEvent.Type.LONGPRESSED, jmeX, jmeY, 0, 0);
    touchEvent.setPointerId(touchInput.getPointerId(event));
    touchEvent.setTime(event.getEventTime());
    touchEvent.setPressure(event.getPressure());
    touchInput.addEvent(touchEvent);
  }

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
  public boolean onDoubleTapEvent(MotionEvent event) {
    //Notified when an event within a double-tap gesture occurs, including the down, move(s), and up events.
    // this means it will get called multiple times for a single double tap
//        logger.log(Level.INFO, "onDoubleTapEvent pointerId: {0}, action: {1}, x: {2}, y: {3}",
//                new Object[]{touchInput.getPointerId(event), touchInput.getAction(event), event.getX(), event.getY()});
    if (touchInput.getAction(event) == MotionEvent.ACTION_UP) {
      TouchEvent touchEvent = touchInput.getFreeTouchEvent();
      touchEvent.set(TouchEvent.Type.DOUBLETAP, event.getX(), touchInput.invertY(event.getY()), 0, 0);
      touchEvent.setPointerId(touchInput.getPointerId(event));
      touchEvent.setTime(event.getEventTime());
      touchEvent.setPressure(event.getPressure());
      touchInput.addEvent(touchEvent);
    }
    return true;
  }

代码示例来源:origin: TonicArtos/StickyGridHeaders

private MotionEvent transformEvent(MotionEvent e, int headerPosition) {
  if (headerPosition == MATCHED_STICKIED_HEADER) {
    return e;
  }
  long downTime = e.getDownTime();
  long eventTime = e.getEventTime();
  int action = e.getAction();
  int pointerCount = e.getPointerCount();
  int[] pointerIds = getPointerIds(e);
  MotionEvent.PointerCoords[] pointerCoords = getPointerCoords(e);
  int metaState = e.getMetaState();
  float xPrecision = e.getXPrecision();
  float yPrecision = e.getYPrecision();
  int deviceId = e.getDeviceId();
  int edgeFlags = e.getEdgeFlags();
  int source = e.getSource();
  int flags = e.getFlags();
  View headerHolder = getChildAt(headerPosition);
  for (int i = 0; i < pointerCount;i++) {
    pointerCoords[i].y -= headerHolder.getTop();
  }
  MotionEvent n = MotionEvent.obtain(downTime, eventTime, action,
      pointerCount, pointerIds, pointerCoords, metaState, xPrecision,
      yPrecision, deviceId, edgeFlags, source, flags);
  return n;
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
  public boolean onSingleTapConfirmed(MotionEvent event) {
    // Up of single tap when no double tap followed.
//        logger.log(Level.INFO, "onSingleTapConfirmed pointerId: {0}, action: {1}, x: {2}, y: {3}",
//                new Object[]{touchInput.getPointerId(event), touchInput.getAction(event), event.getX(), event.getY()});
    float jmeX = touchInput.getJmeX(event.getX());
    float jmeY = touchInput.invertY(touchInput.getJmeY(event.getY()));
    TouchEvent touchEvent = touchInput.getFreeTouchEvent();
    touchEvent.set(TouchEvent.Type.TAP, jmeX, jmeY, 0, 0);
    touchEvent.setPointerId(touchInput.getPointerId(event));
    touchEvent.setTime(event.getEventTime());
    touchEvent.setPressure(event.getPressure());
    touchInput.addEvent(touchEvent);
    return true;
  }

代码示例来源:origin: EverythingMe/overscroll-decor

long dt = event.getEventTime() - event.getHistoricalEventTime(0);
if (dt > 0) { // Sometimes (though rarely) dt==0 cause originally timing is in nanos, but is presented in millis.
  mVelocity = deltaOffset / dt;

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
  public boolean onDoubleTap(MotionEvent event) {
    //The down motion event of the first tap of the double-tap
    // We could use this event to fire off a double tap event, or use
    // DoubleTapEvent with a check for the UP action
//        logger.log(Level.INFO, "onDoubleTap pointerId: {0}, action: {1}, x: {2}, y: {3}",
//                new Object[]{touchInput.getPointerId(event), touchInput.getAction(event), event.getX(), event.getY()});
    float jmeX = touchInput.getJmeX(event.getX());
    float jmeY = touchInput.invertY(touchInput.getJmeY(event.getY()));
    TouchEvent touchEvent = touchInput.getFreeTouchEvent();
    touchEvent.set(TouchEvent.Type.DOUBLETAP, jmeX, jmeY, 0, 0);
    touchEvent.setPointerId(touchInput.getPointerId(event));
    touchEvent.setTime(event.getEventTime());
    touchEvent.setPressure(event.getPressure());
    touchInput.addEvent(touchEvent);
    return true;
  }

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
  public boolean onFling(MotionEvent startEvent, MotionEvent endEvent, float velocityX, float velocityY) {
    // Fling happens only once at the end of the gesture (all fingers up).
    // Fling returns the velocity of the finger movement in pixels/sec.
    // Therefore, the dX and dY values are actually velocity instead of distance values
    // Since this does not track the movement, use the start position and velocity values.

//        logger.log(Level.INFO, "onFling pointerId: {0}, startAction: {1}, startX: {2}, startY: {3}, endAction: {4}, endX: {5}, endY: {6}, velocityX: {7}, velocityY: {8}",
//                new Object[]{touchInput.getPointerId(startEvent), touchInput.getAction(startEvent), startEvent.getX(), startEvent.getY(), touchInput.getAction(endEvent), endEvent.getX(), endEvent.getY(), velocityX, velocityY});

    float jmeX = touchInput.getJmeX(startEvent.getX());
    float jmeY = touchInput.invertY(touchInput.getJmeY(startEvent.getY()));
    TouchEvent touchEvent = touchInput.getFreeTouchEvent();
    touchEvent.set(TouchEvent.Type.FLING, jmeX, jmeY, velocityX, velocityY);
    touchEvent.setPointerId(touchInput.getPointerId(endEvent));
    touchEvent.setTime(endEvent.getEventTime());
    touchEvent.setPressure(endEvent.getPressure());
    touchInput.addEvent(touchEvent);
    return true;
  }

代码示例来源:origin: scwang90/SmartRefreshLayout

if ((mViceState.isHeader && (spinner < 0 || mLastSpinner < 0)) || (mViceState.isFooter && (spinner > 0 || mLastSpinner > 0))) {
  mLastSpinner = spinner;
  long time = e.getEventTime();
  if (mFalsifyEvent == null) {
    mFalsifyEvent = obtain(time, time, MotionEvent.ACTION_DOWN, mTouchX + dx, mTouchY, 0);
mFalsifyEvent.recycle();
mFalsifyEvent = null;
long time = e.getEventTime();
MotionEvent ec = obtain(time, time, action, mTouchX, touchY, 0);
super.dispatchTouchEvent(ec);

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

touchEvent.set(TouchEvent.Type.HOVER_START, jmeX, jmeY, 0, 0);
touchEvent.setPointerId(pointerId);
touchEvent.setTime(event.getEventTime());
touchEvent.setPressure(event.getPressure(pointerIndex));
    touchEvent.set(TouchEvent.Type.HOVER_MOVE, jmeX, jmeY, dX, dY);
    touchEvent.setPointerId(event.getPointerId(p));
    touchEvent.setTime(event.getEventTime());
    touchEvent.setPressure(event.getPressure(p));
    lastPos.set(jmeX, jmeY);
touchEvent.set(TouchEvent.Type.HOVER_END, jmeX, jmeY, 0, 0);
touchEvent.setPointerId(pointerId);
touchEvent.setTime(event.getEventTime());
touchEvent.setPressure(event.getPressure(pointerIndex));
lastHoverPositions.remove(pointerId);

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

touch.set(TouchEvent.Type.DOWN, jmeX, jmeY, 0, 0);
touch.setPointerId(pointerId);
touch.setTime(event.getEventTime());
touch.setPressure(event.getPressure(pointerIndex));
touch.set(TouchEvent.Type.UP, jmeX, jmeY, 0, 0);
touch.setPointerId(pointerId);
touch.setTime(event.getEventTime());
touch.setPressure(event.getPressure(pointerIndex));
lastPositions.remove(pointerId);
    touch.set(TouchEvent.Type.MOVE, jmeX, jmeY, dX, dY);
    touch.setPointerId(event.getPointerId(p));
    touch.setTime(event.getEventTime());
    touch.setPressure(event.getPressure(p));
    lastPos.set(jmeX, jmeY);

代码示例来源:origin: burhanrashid52/PhotoEditor

/**
   * Return the event time of the current event being processed.
   *
   * @return Current event time in milliseconds.
   */
  public long getEventTime() {
    return mCurrEvent.getEventTime();
  }
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
  public boolean onScroll(MotionEvent startEvent, MotionEvent endEvent, float distX, float distY) {
    // if not scaleInProgess, send scroll events.  This is to avoid sending
    // scroll events when one of the fingers is lifted just before the other one.
    // Avoids sending the scroll for that brief period of time.
    // Return true so that the next event doesn't accumulate the distX and distY values.
    // Apparantly, both distX and distY are negative.
    // Negate distX to get the real value, but leave distY negative to compensate
    // for the fact that jME has y=0 at bottom where Android has y=0 at top.
    if (!touchInput.getScaleDetector().isInProgress()) {
//            logger.log(Level.INFO, "onScroll pointerId: {0}, startAction: {1}, startX: {2}, startY: {3}, endAction: {4}, endX: {5}, endY: {6}, dx: {7}, dy: {8}",
//                    new Object[]{touchInput.getPointerId(startEvent), touchInput.getAction(startEvent), startEvent.getX(), startEvent.getY(), touchInput.getAction(endEvent), endEvent.getX(), endEvent.getY(), distX, distY});

      float jmeX = touchInput.getJmeX(endEvent.getX());
      float jmeY = touchInput.invertY(touchInput.getJmeY(endEvent.getY()));
      TouchEvent touchEvent = touchInput.getFreeTouchEvent();
      touchEvent.set(TouchEvent.Type.SCROLL, jmeX, jmeY, touchInput.getJmeX(-distX), touchInput.getJmeY(distY));
      touchEvent.setPointerId(touchInput.getPointerId(endEvent));
      touchEvent.setTime(endEvent.getEventTime());
      touchEvent.setPressure(endEvent.getPressure());
      touchInput.addEvent(touchEvent);
    }
    return true;
  }

代码示例来源:origin: robolectric/robolectric

@Test
public void testWriteToParcel() {
 Parcel parcel = Parcel.obtain();
 motionEvent2.writeToParcel(parcel, Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
 parcel.setDataPosition(0);
 MotionEvent motionEvent = MotionEvent.CREATOR.createFromParcel(parcel);
 assertThat(motionEvent).rawY().isWithin(TOLERANCE).of(motionEvent2.getRawY());
 assertThat(motionEvent).rawX().isWithin(TOLERANCE).of(motionEvent2.getRawX());
 assertThat(motionEvent).y().isWithin(TOLERANCE).of(motionEvent2.getY());
 assertThat(motionEvent).x().isWithin(TOLERANCE).of(motionEvent2.getX());
 assertThat(motionEvent).hasAction(motionEvent2.getAction());
 assertThat(motionEvent).hasDownTime(motionEvent2.getDownTime());
 assertThat(motionEvent).hasEventTime(motionEvent2.getEventTime());
 assertThat(motionEvent).hasEdgeFlags(motionEvent2.getEdgeFlags());
 assertThat(motionEvent).hasDeviceId(motionEvent2.getDeviceId());
}

代码示例来源:origin: robolectric/robolectric

check("getEventTime()").that(actual().getEventTime()).isEqualTo(other.getEventTime());
check("action()").that(actual().getAction()).isEqualTo(other.getAction());
check("buttonState()").that(actual().getButtonState()).isEqualTo(other.getButtonState());

相关文章