2016-10-10 1 views
-1

Je travaille sur une fonctionnalité de mon application qui effectue un zoom avant et un zoom arrière. J'ai remarqué que lorsque je fais un zoom, mon application reçoit onScaleEnd() même si mes deux doigts sont toujours à l'écran. Pour cette raison, mon application se comporte d'une manière inattendue. Je l'ai testé sur l'émulateur Android Nexus 5 et la tablette Google pixel. Notez que lorsque vous effectuez un zoom arrière, l'événement onScaleEnd() est reçu comme prévu lorsque je retire l'un des doigts de l'écran.onScaleEnd reçu prématurément

Quelqu'un peut-il suggérer pourquoi cela se produit ou est-ce un bug android connu et comment contourner/réparer?

Répondre

0

Selon les développeurs Android

onScaleEnd Réagit à la fin d'un geste d'échelle. Rapporté par les pointeurs existants en remontant. Une fois qu'une échelle est terminée, getFocusX() et répond à la fin d'un geste d'échelle. Rapporté par les pointeurs existants en remontant. Une fois qu'une échelle est terminée, getFocusX() et getFocusY() renverront le point focal des pointeurs restant sur l'écran. retournera le point focal des pointeurs restant sur l'écran.

+0

Je comprends cela mais malheureusement, il ne répond pas à ma question. Dans mon cas, quand je fais un zoom avant et que je maintiens mon doigt sur l'écran pendant un peu plus longtemps, alors je reçois onScaleEnd() même si les deux doigts sont sur l'écran. – Ajit