2012-12-02 9 views
6

Sto provando a trascinare gli overlay su una mappa e anche a visualizzare un infobox se l'utente tocca un pin. Per fare ciò ho bisogno di misurare il tempo tra MotionEvent.ACTION_DOWN e MotionEvent.ACTION_UP. Per farlo sentire il più naturale possibile mi piacerebbe sapere che valore usa Android per un Single-Tap (attualmente sto usando 180 ms) e anche per un Long-Tap.Durata di un tocco singolo e prolungato in Android

Grazie!

+1

Non è necessario scrivere il codice per distinguere tra 'singolo -Tap' e 'long-Tap'. Usa invece 'GestureDetector'. Fammi sapere se hai bisogno di più dettagli. – Luis

+0

Ho provato onTap() da ItemizedOverlay e non è stato attivato. Presumo che onTouchEvent() di cui ho bisogno per il trascinamento stia consumando tutti gli eventi di tocco. Quindi non penso che GestureDetector possa funzionare ... Forse hai frainteso la mia domanda, perché il mio problema principale era distinguere tra single-Tap/long-Tap e una scroll. – timoschloesser

+1

'GestureDetector' non intercetta gli eventi di movimento, è necessario dar loro da mangiare a' GestureDetector' chiamando 'gestureDetector.onTouchEvent (ev)'. Quindi, a patto che tu possa ottenere un evento di movimento, puoi alimentarlo a "GestureDetector". L'evento di movimento viene analizzato dalla classe e, quando appropriato, effettua i callback su 'onDoubleTap()', 'onLongPress()', 'onScroll()', 'onSingleTapConfirmed()' e alcuni altri. Forse dovresti dare un'occhiata alla documentazione in: http://developer.android.com/reference/android/view/GestureDetector.html. – Luis

risposta

Problemi correlati