2012-12-02 12 views
6

Próbuję przeciągnąć nakładki na mapę, a także wyświetlić infoboks, jeśli użytkownik kliknie pinezkę. Aby to zrobić, muszę zmierzyć czas między MotionEvent.ACTION_DOWN i MotionEvent.ACTION_UP. Aby było to tak naturalne, jak to możliwe, chciałbym wiedzieć, jaką wartość wykorzystuje Android w przypadku pojedynczego dotknięcia (obecnie używam 180 ms), a także w przypadku długiego wybierania.Czas trwania pojedynczego dotknięcia i długiego naciśnięcia w systemie Android

Dzięki!

+1

Nie trzeba napisać kod dla odróżnić pojedynczy ' -Tap' i 'long-Tap'. Zamiast tego użyj 'GestureDetector'. Daj mi znać, jeśli potrzebujesz więcej informacji. – Luis

+0

Próbowałem onTap() z ItemizedOverlay i nie jest uruchamiany. Zakładam, że naTouchEvent(), którego potrzebuję do przeciągania, zużywa wszystkie zdarzenia dotykowe. Więc nie sądzę, że GestureDetector zadziała ... Być może źle zrozumiałeś moje pytanie, bo moim głównym problemem było rozróżnienie między jednym stuknięciem/długim stuknięciem a przewijaniem. – timoschloesser

+1

'GestureDetector' nie przechwytuje zdarzeń ruchu, musisz podać je do' GestureDetector', wywołując 'gestureDetector.onTouchEvent (ev)'. Tak długo, jak długo możesz uzyskać wydarzenie ruchu, możesz je przekazać do 'GestureDetector'. Zdarzenie ruchu jest analizowane przez klasę, a w razie potrzeby wywołuje oddzwanianie do 'onDoubleTap()', 'onLongPress()', 'onScroll()', 'onSingleTapConfirmed()' i kilka innych. Może powinieneś rzucić okiem na dokumentację w: http://developer.android.com/reference/android/view/GestureDetector.html. – Luis

Odpowiedz

5

Android źródło wykorzystuje 125 ms dla pojedynczej beczki i 500ms jako czas prasowej długa:

private static final int PRESSED_STATE_DURATION = 125; 

private static final int DEFAULT_LONG_PRESS_TIMEOUT = 500; 

ViewConfiguration.java#PRESSED_STATE_DURATION

ViewConfiguration.java#DEFAULT_LONG_PRESS_TIMEOUT

+1

Dzięki. Myślę, że muszę przejść z TAP_TIMEOUT zamiast PRESSED_STATE_DURATION, co jest dokładnie tym samym 180ms, które już używam. – timoschloesser

Powiązane problemy