0
我需要知道如何讓我的活動知道用戶何時觸摸屏幕,雙擊觸摸屏幕或握住手指它在單一視圖上長時間接觸,不使用按鈕Android:OnTouch事件功能,檢測正常的觸摸,長時間的觸摸或快速雙擊
有人可以簡單描述一下我應該在什麼位置工作,以及使用什麼邏輯?
我需要知道如何讓我的活動知道用戶何時觸摸屏幕,雙擊觸摸屏幕或握住手指它在單一視圖上長時間接觸,不使用按鈕Android:OnTouch事件功能,檢測正常的觸摸,長時間的觸摸或快速雙擊
有人可以簡單描述一下我應該在什麼位置工作,以及使用什麼邏輯?
您需要有一些View
或包含屏幕的佈局項目,以便將所有觸摸事件發送給它。從那裏,你需要附加某種監聽器(可能是觸摸或手勢)。我會推薦一個GestureDetector
(這支持雙擊和其他手勢),或基本的觸摸監聽器(使用MotionEvent
,它沒有雙擊,但你可以自己實現這一點)。
如果您使用MotionEvent
,您可以使用getDownTime()
來檢測手指停頓的時間。對於雙擊,您可以記錄最後一次按下的時間(使用Calendar
或類似的),然後檢查最後一次按下是否在一定的時間內(可能是500ms?)。
如果您使用GestureDetector
,則可以採用不同的方式實施。看看this answer瞭解更多細節(該線程中的其他答案也提供了替代方案)。它還支持MotionEvent
對象,所以這應該不成問題。