Android中手勢交互的執行順序 - 1.手指觸碰屏幕時,觸發MotionEvent事件! - 2.該事件被OnTouchListener監聽,可在它的onTouch()方法中獲得該MotionEvent對象! - 3.通過GestureDetector轉發MotionEvent對象給OnGestureListener - 4.我們可以通過OnGestureListener獲得該對象,然后獲取相關信息,以及做相關處理!
GestureListener 他給我們提供了下述的回調方法: - 按下(onDown): 剛剛手指接觸到觸摸屏的那一剎那,就是觸的那一下。 - 拋擲(onFling): 手指在觸摸屏上迅速移動,并松開的動作。 - 長按(onLongPRess): 手指按在持續一段時間,并且沒有松開。 - 滾動(onScroll): 手指在觸摸屏上滑動。 - 按住(onShowPress): 手指按在觸摸屏上,它的時間范圍在按下起效,在長按之前。 - 抬起(onSingleTapUp):手指離開觸摸屏的那一剎那。
注:我們實現OnGestureListener需要實現所有的手勢,可能我針對的僅僅是滑動,但是你還是要去重載, 這很不科學,其實官方另外給我們提供了一個SimpleOnGestureListener類,只需把上述的OnGestureListener替換成SimpleOnGestureListener即可!
手勢添加與識別: 除了上面講解的手勢檢測外,Android還運行我們將手勢進行添加,然后提供了相關的識別API; Android中使用GestureLibrary來代表手勢庫,提供了GestureLibraries工具類來創建手勢庫!
四個加載手勢庫的靜態方法: 
獲得GestureLibrary對象后,就可以使用該對象提供的下述方法來做相應操作了: - public void addGesture (String entryName, Gesture gesture):添加一個名為entryName的手勢 - public Set getGestureEntries ():獲得手勢庫中所有手勢的名稱 - public ArrayList getGestures (String entryName):獲得entryName名稱對應的全部手勢 - public ArrayList recognize (Gesture gesture): 從當前手勢庫中識別與gesture匹配的全部手勢 - public void removeEntry (String entryName):刪除手勢庫中entryName名稱對應的手勢 - public void removeGesture (String entryName, Gesture gesture):刪除手勢庫中entryName和gesture都匹配的手勢 - public abstract boolean save ():想手勢庫中添加手勢或從中刪除手勢后調用該方法保存手勢庫
GestureOverlayView手勢編輯組件 Android為GestureOverlayView提供了三種監聽器接口,如下,一般常用的是:OnGesturePerformedListener;用于手勢完成時提供響應! 
新聞熱點
疑難解答