2
我目前使用dispatchTouchEvent來抓取觸摸事件,有沒有簡單的方法來區分點擊和「拖動」手寫筆手勢?Android區分點擊和拖動dispatchTouchEvent
我目前使用dispatchTouchEvent來抓取觸摸事件,有沒有簡單的方法來區分點擊和「拖動」手寫筆手勢?Android區分點擊和拖動dispatchTouchEvent
使用MotionEvent參數調用DispatchTouchEvent。 MotionEvent中的方法getAction可以返回ACTION_DOWN,ACTION_MOVE,ACTION_UP或ACTION_CANCEL。然後設置ACTION_DOWN標誌isClick。如果有ACTION_MOVE清除isClick標誌。
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
isClick = true;
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
if (isClick) {
//TODO Click action
}
break;
case MotionEvent.ACTION_MOVE:
isClick = false;
break;
default:
break;
}
return true;
}
好像無論多麼短暫我水龍頭,動作移動事件總能獲得的解僱。 – JeffRegan
請檢查我的其他答案,在將isClick設置爲false之前引入移動閾值:http://stackoverflow.com/a/16485989/1373248 – MSquare
昨天我實施了類似的解決方案。你可能想更新這個答案。 – JeffRegan