想要觸發on two fingers down
事件幾毫秒。以編程方式觸發ACTION_POINTER_DOWN事件
我能夠通過使用此代碼
objImageView.getLocationOnScreen(coords);
int xa = coords[0];
int ys = coords[1];
objImageView.dispatchTouchEvent(MotionEvent.obtain(0, 0, MotionEvent.ACTION_DOWN, xa, ys, 0.5f, 5, 0, 1, 1, 0, 0));
objImageView.dispatchTouchEvent(MotionEvent.obtain(0, 0, MotionEvent.ACTION_MOVE, xa, ys, 0.5f, 5, 0, 1, 1, 0, 0));
objImageView.dispatchTouchEvent(MotionEvent.obtain(0, 0, MotionEvent.ACTION_UP, xa, ys, 0.5f, 5, 0, 1, 1, 0, 0));
我們觸發簡單的觸摸事件,如果我嘗試做ACTION_POINTER_DOWN沒事一樣正在發生的事情。這裏是我的代碼:
int[] coords = new int[2];
parentLayout.getLocationOnScreen(coords);
int xa = coords[0];
int ys = coords[1];
parentLayout.dispatchTouchEvent(MotionEvent.obtain(0, 0, MotionEvent.ACTION_POINTER_DOWN, xa, ys, 0.5f, 5, 0, 1, 1, 0, 0));
parentLayout.dispatchTouchEvent(MotionEvent.obtain(0, 0, MotionEvent.ACTION_MOVE, xa, ys, 0.5f, 5, 0, 1, 1, 0, 0));
parentLayout.dispatchTouchEvent(MotionEvent.obtain(0, 0, MotionEvent.ACTION_POINTER_UP, xa, ys, 0.5f, 5, 0, 1, 1, 0, 0));
我谷歌周圍,但找不到任何東西試一試。 我想觸發相同的事件,當用戶放下兩根手指並將手指放在那裏幾毫秒時調用。
在此先感謝。
那麼,我仍然無法執行該操作,現在,我通過用另一種方法寫入它們來強制調用TouchListener的代碼。 –
爲什麼你會使用動作指針?如果您希望能夠每隔幾毫秒觸發一次,請使用帶有Timer或其他計時事件的線程。將onTouch代碼解壓縮到void並從線程和onTouch中觸發它 – Zoe