1

我想在代码中模拟一个触摸事件,换句话说,就是在屏幕上扫一扫。

我想public boolean onTouchEvent(MotionEvent event)在我的代码中触发该方法,但是该MotionEvent对象应该具有所需的值以模拟屏幕上的扫描(例如从左到右的扫描)。

我阅读了这篇文章,但我认为这仅在进行 Android 单元测试时才有用,并且我需要从代码的任何部分调用此方法以随时模拟滑动。

我想知道这是否可能。提前致谢。

4

2 回答 2

1

感谢迪奥戈·本托。我的代码有些东西:它不是 OnTouchEvent。它是一个 GestureDetector.OnGestureListener。我尝试调用 onSingelTapUp()。

long time =System.currentTimeMillis();
MotionEvent motionEvent = MotionEvent.obtain( time, time+1, MotionEvent.ACTION_DOWN, 0, 0, 0);
view.last.dispatchTouchEvent(motionEvent);
MotionEvent motionEvent1 = MotionEvent.obtain( time+1, time+2, MotionEvent.ACTION_UP, 0, 0, 0);
view.dispatchTouchEvent(motionEvent1);
于 2015-02-13T03:57:41.817 回答
1

如何在 Android 中模拟触摸事件?

MotionEvent motionEvent = MotionEvent.obtain(
    downTime, 
    eventTime, 
    MotionEvent.ACTION_UP, 
    x, 
    y, 
    metaState
);

// Dispatch touch event to view
view.dispatchTouchEvent(motionEvent);
于 2013-06-20T14:32:06.143 回答