68 votes

Android : Comment détecter la fin d'un défilement ?

J'utilise la méthode onScroll de GestureDetector.SimpleOnGestureListener pour faire défiler un grand bitmap sur un canevas. Lorsque le défilement est terminé, je veux redessiner le bitmap au cas où l'utilisateur voudrait le faire défiler plus loin ... hors du bord du bitmap, mais je ne vois pas comment détecter la fin du défilement (l'utilisateur a retiré son doigt de l'écran).

e2.getAction() semble toujours renvoyer la valeur 2, ce qui ne nous aide pas. e2.getPressure semble renvoyer des valeurs assez constantes (autour de 0,25) jusqu'au dernier appel onScroll où la pression semble tomber à environ 0,13. Je suppose que je pourrais détecter cette réduction de la pression, mais ce sera loin d'être infaillible.

Il doit y avoir un meilleur moyen : quelqu'un peut-il m'aider, s'il vous plaît ?

0voto

Blue Points 684

Extrait de l'événement onScroll de l'API GestureListener : texte du lien

public abstract boolean onScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) Depuis : API Niveau 1

Retourne * vrai si l'événement est consommé, sinon faux

Peut-être qu'une fois que l'événement a été consommé, l'action est terminée et l'utilisateur a enlevé son doigt de l'écran ou au moins terminé cette action onScroll.

Vous pouvez ensuite l'utiliser dans une instruction IF pour vérifier si == vrai, puis passer à l'action suivante.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X