2010-08-24 3 views
7

J'utilise GestureOverlayView avec ViewFlipper, et il faut environ une seconde pour que l'androïde reconnaisse mon geste et passe à la vue suivante. Cependant, le calendrier Android bascule presque immédiatement. J'ai vérifié le code du calendrier Android, et il utilise GestureDetector. Y a-t-il une grande différence entre ces deux mécanismes de détection de gestes?La performance de GestureOverlayView et GestureDetector

Je me demande aussi quelle est la différence entre ces deux mécanismes de détection des gestes. Je sais que GestureOverlayView est sorti à 1,6, alors que GestureDetector était à 1,0. Mais pourquoi n'ont-ils pas simplement déprécier GestureDetector quand GestureOverlayView est sorti?

Répondre

11

Ces deux composants ont deux objectifs différents. GestureDetector est destiné à détecter des gestes courants, simples et non visuels tels que des parchemins, des flings, des balayages, etc. GestureOverlayView est destiné à détecter des gestes complexes (formes arbitraires, lettres, etc.) qui sont dessinés à l'écran. En raison de sa nature, GestureOverlayView s'appuie sur les timings avant de commencer à reconnaître une forme. Ce n'est pas une question de performance. Si tout ce que vous voulez faire est de détecter un balayage, utilisez simplement un GestureDetector.