我想触发这样的触摸事件:
首先手指在屏幕的 (0,50%) 处触碰并滑动到屏幕的 (50%,50%),然后退出(将手指从屏幕上移开)
我发现了一些类似的东西:
MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, x, y, pressure, size, metaState, xPrecision, yPrecision, deviceId, edgeFlags);
onTouchEvent(event);
但是,如何模拟上述情况?我需要创建 2 个事件吗? onTouchDown , onMove 等....?感谢您的帮助。
最佳答案
// Obtain MotionEvent object
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis() + 100;
float x = 0.0f;
float y = 0.0f;
// List of meta states found here: developer.android.com/reference/android/view/KeyEvent.html#getMetaState()
int metaState = 0;
MotionEvent motionEvent = MotionEvent.obtain(
downTime,
eventTime,
MotionEvent.ACTION_UP,
x,
y,
metaState
);
// Dispatch touch event to view
view.dispatchTouchEvent(motionEvent);
关于android - 如何以编程方式触发android中的触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23902892/