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

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

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

MotionEvent.getHistoricalEventTime介绍

暂无

代码示例

代码示例来源: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: 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: stackoverflow.com

void printSamples(MotionEvent ev) {
  final int historySize = ev.getHistorySize();
  final int pointerCount = ev.getPointerCount();
  for (int h = 0; h < historySize; h++) {
    System.out.printf("At time %d:", ev.getHistoricalEventTime(h));
    for (int p = 0; p < pointerCount; p++) {
      System.out.printf("  pointer %d: (%f,%f)",
      ev.getPointerId(p), ev.getHistoricalX(p, h), ev.getHistoricalY(p, h));
    }
  }

  System.out.printf("At time %d:", ev.getEventTime());
  for (int p = 0; p < pointerCount; p++) {
    System.out.printf("  pointer %d: (%f,%f)",
    ev.getPointerId(p), ev.getX(p), ev.getY(p));
  }
}

代码示例来源:origin: stackoverflow.com

void printSamples(MotionEvent ev) {
final int historySize = ev.getHistorySize();
final int pointerCount = ev.getPointerCount();
for (int h = 0; h < historySize; h++) {
  System.out.printf("At time %d:", ev.getHistoricalEventTime(h));
  for (int p = 0; p < pointerCount; p++) {
    System.out.printf("  pointer %d: (%f,%f)",
      ev.getPointerId(p), ev.getHistoricalX(p, h), ev.getHistoricalY(p, h));
  }
}
System.out.printf("At time %d:", ev.getEventTime());
for (int p = 0; p < pointerCount; p++) {
  System.out.printf("  pointer %d: (%f,%f)",
    ev.getPointerId(p), ev.getX(p), ev.getY(p));
}
}

代码示例来源:origin: PhilippC/keepass2android

public void addMovement(MotionEvent ev) {
  if (ev.getAction() == MotionEvent.ACTION_DOWN) {
    mBuffer.clear();
    return;
  }
  long time = ev.getEventTime();
  final int count = ev.getHistorySize();
  for (int i = 0; i < count; i++) {
    addPoint(ev.getHistoricalX(i), ev.getHistoricalY(i), ev.getHistoricalEventTime(i));
  }
  addPoint(ev.getX(), ev.getY(), time);
}

代码示例来源:origin: lime-ime/limeime

public void addMovement(MotionEvent ev) {
  if (ev.getAction() == MotionEvent.ACTION_DOWN) {
    mBuffer.clear();
    return;
  }
  long time = ev.getEventTime();
  final int count = ev.getHistorySize();
  for (int i = 0; i < count; i++) {
    addPoint(ev.getHistoricalX(i), ev.getHistoricalY(i), ev.getHistoricalEventTime(i));
  }
  addPoint(ev.getX(), ev.getY(), time);
}

代码示例来源:origin: osfans/trime

public void addMovement(MotionEvent ev) {
 long time = ev.getEventTime();
 final int N = ev.getHistorySize();
 for (int i = 0; i < N; i++) {
  addPoint(ev.getHistoricalX(i), ev.getHistoricalY(i), ev.getHistoricalEventTime(i));
 }
 addPoint(ev.getX(), ev.getY(), time);
}

代码示例来源:origin: apps4av/avare

&& (action & ((1 << ACTION_POINTER_INDEX_SHIFT) - 1)) != ACTION_POINTER_UP //
processingHist ? event.getHistoricalEventTime(histIdx) : event.getEventTime());

代码示例来源:origin: redfish64/TinyTravelTracker

((1 << ACTION_POINTER_INDEX_SHIFT) - 1)) != ACTION_POINTER_UP
processingHist ? event.getHistoricalEventTime(histIdx) :
event.getEventTime());

代码示例来源:origin: EggUncle/XposedNavigationBar

private int detectSwipe(MotionEvent move) {
  final int historySize = move.getHistorySize();
  final int pointerCount = move.getPointerCount();
  for (int p = 0; p < pointerCount; p++) {
    final int pointerId = move.getPointerId(p);
    final int i = findIndex(pointerId);
    if (i != UNTRACKED_POINTER) {
      for (int h = 0; h < historySize; h++) {
        final long time = move.getHistoricalEventTime(h);
        final float x = move.getHistoricalX(p, h);
        final float y = move.getHistoricalY(p, h);
        final int swipe = detectSwipe(i, time, x, y);
        if (swipe != SWIPE_NONE) {
          return swipe;
        }
      }
      final int swipe = detectSwipe(i, move.getEventTime(), move.getX(p), move.getY(p));
      if (swipe != SWIPE_NONE) {
        return swipe;
      }
    }
  }
  return SWIPE_NONE;
}

代码示例来源:origin: XanderWang/elasticity

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: martinwithaar/PinchToZoom

/**
 * <p>Calculates the pinch velocity for the last <code>timeWindow</code> milliseconds.</p>
 * @param event
 * @param pointerA id of pointer A
 * @param pointerB id of pointer B
 * @param timeWindow
 * @return spacing between both pointers
 */
public static final float pinchVelocity(MotionEvent event, int pointerA, int pointerB, long timeWindow) {
  int indexA = event.findPointerIndex(pointerA);
  int indexB = event.findPointerIndex(pointerB);
  long eventTime = event.getEventTime();
  long timeDelta = 0;
  float previousSpacing = spacingByIndex(event, indexA, indexB);
  float scale = 1;
  for(int i = 0, n = event.getHistorySize(); i < n && timeDelta < timeWindow; i++) {
    int index = (n - 1) - i;
    float x = event.getHistoricalX(indexA, index) - event.getHistoricalX(indexB, index);
    float y = event.getHistoricalY(indexA, index) - event.getHistoricalY(indexB, index);
    float spacing = (float) Math.sqrt(x * x + y * y);
    scale *= previousSpacing / spacing;
    previousSpacing = spacing;
    timeDelta = eventTime - event.getHistoricalEventTime(index);
  }
  return (float) Math.pow(Math.pow(scale, 1d / timeWindow), 1000d);
}

代码示例来源:origin: JimSeker/bluetooth

.getHistoricalEventTime(historyPos));

代码示例来源:origin: MyScript/interactive-ink-examples-android

pointerEvents[i] = new PointerEvent(PointerEventType.MOVE, event.getHistoricalX(pointerIndex, i), event.getHistoricalY(pointerIndex, i), eventTimeOffset + event.getHistoricalEventTime(i), event.getHistoricalPressure(pointerIndex, i), iinkPointerType, pointerId);
pointerEvents[historySize] = new PointerEvent(PointerEventType.MOVE, event.getX(pointerIndex), event.getY(pointerIndex), eventTimeOffset + event.getEventTime(), event.getPressure(), iinkPointerType, pointerId);
editor.pointerEvents(pointerEvents, true);
 pointerEvents[i] = new PointerEvent(PointerEventType.MOVE, event.getHistoricalX(pointerIndex, i), event.getHistoricalY(pointerIndex, i), eventTimeOffset + event.getHistoricalEventTime(i), event.getHistoricalPressure(pointerIndex, i), iinkPointerType, pointerId);
editor.pointerEvents(pointerEvents, true);

代码示例来源:origin: qiubiteme/android_api_demos

private void processJoystickInput(MotionEvent event, int historyPos) {
  // Get joystick position.
  // Many game pads with two joysticks report the position of the second joystick
  // using the Z and RZ axes so we also handle those.
  // In a real game, we would allow the user to configure the axes manually.
  float x = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_X, historyPos);
  if (x == 0) {
    x = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_HAT_X, historyPos);
  }
  if (x == 0) {
    x = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_Z, historyPos);
  }
  float y = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_Y, historyPos);
  if (y == 0) {
    y = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_HAT_Y, historyPos);
  }
  if (y == 0) {
    y = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_RZ, historyPos);
  }
  // Set the ship heading.
  mShip.setHeading(x, y);
  step(historyPos < 0 ? event.getEventTime() : event.getHistoricalEventTime(historyPos));
}

代码示例来源:origin: li2/learning-android-open-source

private void processJoystickInput(MotionEvent event, int historyPos) {
  // Get joystick position.
  // Many game pads with two joysticks report the position of the second joystick
  // using the Z and RZ axes so we also handle those.
  // In a real game, we would allow the user to configure the axes manually.
  float x = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_X, historyPos);
  if (x == 0) {
    x = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_HAT_X, historyPos);
  }
  if (x == 0) {
    x = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_Z, historyPos);
  }
  float y = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_Y, historyPos);
  if (y == 0) {
    y = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_HAT_Y, historyPos);
  }
  if (y == 0) {
    y = getCenteredAxis(event, mLastInputDevice, MotionEvent.AXIS_RZ, historyPos);
  }
  // Set the ship heading.
  mShip.setHeading(x, y);
  step(historyPos < 0 ? event.getEventTime() : event.getHistoricalEventTime(historyPos));
}

代码示例来源:origin: crvv/android_wubi_input

final int historicalX = (int)me.getHistoricalX(pointerIndex, h);
final int historicalY = (int)me.getHistoricalY(pointerIndex, h);
final long historicalTime = me.getHistoricalEventTime(h);
onGestureMoveEvent(historicalX, historicalY, historicalTime,
    false /* isMajorEvent */, null);

相关文章