2013-06-20 87 views
1

我想模擬代碼中的觸摸事件,換句話說,在屏幕上掃描。我想用不同的MotionEvent對象在我的代碼中調用onTouchEvent(MotionEvent事件)?

我想在我的代碼中觸發方法public boolean onTouchEvent(MotionEvent event),但MotionEvent對象應該具有所需的值以便模擬屏幕上的掃描(例如從左到右掃掠)。

我讀this條目,但我認爲這隻在進行Android單元測試時有用,而且我需要從我的代碼的任何部分調用此方法來隨時模擬滑動。

我想知道這是否可能。提前致謝。

回答

0

How to simulate a touch event in Android?

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

// Dispatch touch event to view 
view.dispatchTouchEvent(motionEvent); 
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);