Je dois limiter la zone que mes utilisateurs peuvent naviguer dans la carte (sauf s'ils auront un écran vide!). J'ai créé une classe qui étend la mapview et remplace l'onTouchEvent. Je suis en train de détecter l'action "ACTION_UP" et de vérifier les coordonnées ici et de repositionner la carte si je le dois. Tout fonctionne bien jusqu'à ce que l'utilisateur "lance" la carte. Je peux détecter le «Haut» et les coordonnées de l'écran à ce moment-là, mais la carte est toujours en mouvement, donc les coordonnées que je détecte ne sont pas les bonnes.Android Get Mapview sur Fling cessé d'animer
J'ai besoin de connaître la position de l'écran lorsqu'il est arrêté de bouger!
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_UP) {
//get coords of screen corners and calculate if the map is still in view.
}
Je suis à la recherche d'une bonne quantité de temps pour la réponse à cela, mais beaucoup de gens se posent la question, mais il ne semble pas être des solutions autour?
Est-ce que quelqu'un a réussi à le faire?
Bex
Oui, malheureusement la norme 'GestureDetector' fournit des informations sur le moment où une aventure commence mais pas quand ça finit. Je vais jeter un coup d'oeil et voir si la fin d'une aventure peut être facilement détectée. Vous pouvez surcharger 'onFling' et simplement désactiver le flinging en retournant' false' à partir de là. De même, il serait préférable de vérifier la position de la carte lorsqu'un événement ACTION_MOVE survient, plutôt que l'événement up ou que la carte reviendra à sa position si vous vous déplacez trop loin lorsque vous levez votre doigt. –
@Joseph Merci pour votre commentaire! Si vous pouviez voir s'il est possible d'obtenir la fin de l'aventure, ce serait génial! A défaut de désactivation sur fling pourrait être la meilleure option! – Bex
J'ai ajouté l'écouteur Gesture .. mais l'événement On Fling ne se déclenche pas! – Bex