用戶檢測手勢Gesture implements android.view.GestureDetector.OnGestureListener

如果我們寫一個類並實現OnGestureListener接口,會要重寫6個函數:如下

1onDown(MotionEvent e):用戶按下屏幕就會觸發

2onShowPress(MotionEvent e):如果是按下的時間超過瞬間,而且在按下的時候沒有鬆開或者是拖動的,那麼onShowPress就會執行。

3onLongPress(MotionEvent e):長按觸摸屏,超過一定的時長,就會觸發這個事件。

觸發順序:onDown->onShowPress->onLongPress

 

4onSingleTapUp(MotionEvent e):輕擊一下屏幕,立刻擡起來,纔會觸發這個事件

觸發順序:點擊一下非常快的(不滑動)Touchup:

onDown->onSingleTapUp->onSingleTapConfirmed

點擊一下稍微慢點的(不滑動)Touchup

onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed

 

5onFling(MotionEvent e1,MotionEvente2,float velocity X,float velocity Y):滑屏,用戶按下觸摸屏,快速移動後鬆開,由1MotionEvent ACTION_DOWN,多個ACTION_MOVE1ACTION_UP觸發。

參數解釋:

 e1:1ACTION_DOWN MotionEvent

 e2:最後一個ACTION_MOVE MotionEvent

Velocity XX軸上的移動速度,像素/

Velocity YY軸上的移動速度,像素/

 

6onScroll(MotionEvent e1,MotionEvente2,float distanceX,float distanceY):在屏幕上拖動事件無論是用手拖動View,或者是以拋的動作滾動,都會多次觸發這個方法。

ACTION_MOVE動作發生時就會觸發滑屏:

手指觸動屏幕後,稍微滑動後立即鬆開

onDown->onScroll->onScroll->onScroll->….->onFiling

拖動

onDown-->onScroll-->onScroll-->onFiling

可見,無論是滑屏還是拖動,影響的只是中間的onScroll觸發的數量多少而已。最終都會觸發onFiling事件!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章