2012-11-28 361 views
0

Android如何檢測事件?我不是在爲事件實現不同的處理程序,而是在於決定事件類型的邏輯。例如,當用戶在屏幕上執行滑動操作時,Android SDK檢測到這是一個滑動事件而不是滾動事件或其他事件?提前致謝!Android事件檢測

+0

Android沒有類似於JavaScript或WinForms的事件。 @TedHopp的回答是正確的。, – Codeman

回答

1

觸摸事件通常由GestureDetector解釋。通常,觸摸事件由View通過簡單地將它們傳遞給GestureDetector來處理。 GestureDetector通過分析觸摸事件的最近歷史來檢測何時存在某種特定手勢(點擊,投擲等)。 GestureDetector然後通知其中一個註冊偵聽器(通常是SimpleOnGestureListener的子類)。

由聽衆來決定手勢的語義含義。例如,一個ScrollView將設置一個OnGestureListener,通過快速滾動對一個事件作出反應。自定義視圖可能會通過從視圖中刪除某個對象而對投擲做出反應。

+0

非常感謝您的回答!您是否確切瞭解Android中Android確定觸摸事件或輕敲事件的位置,以及觸摸事件,GestureDetector在哪裏分析觸摸事件並確定觸摸事件或輕敲事件等? – Christian

+0

@ user1858060 - 你是指在源代碼中的位置?你可以找到'GestureDetector' [here](https://github.com/android/platform_frameworks_base/blob/master/core/java/android/view/GestureDetector.java)。 –

+0

謝謝!但似乎該事件是點擊,長按還是複雜的手勢等在本課程中並未確定。 – Christian