Android ImageView - Obtenez les coordonnées de tap (clic) indépendamment de l'emplacement du défilement ou de l'échelle de zoom
De fond:
J'ai une ImageView que j'ai modifié pour être défilement (glisser) et zoom (zoom par pincement). J'ai utilisé la technique exacte mentionné dans le "Hello, Android" de la 3ème édition de livre que l'on retrouve aussi ici. Cette technique utilise la matrice de transformation à gérer à la fois de défilement et de zoom.
Mon Problème:
Lorsqu'un utilisateur clique sur l'image, je veux bien les coordonnées de ce robinet par rapport à l'image elle-même, indépendamment de la façon dont l'image a fait défiler ou agrandie. Par exemple, si mon image est 1000x2000 et je défilement et de zoom de l'image. Ensuite, j'ai touchez l'image à un certain point, je veux savoir ce que ce point est en relation avec les 1000x2000, et pas seulement la zone de l'écran. Comment puis-je faire cela?
source d'informationauteur AndyB
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une solution à cela en utilisant des morceaux de l'info, j'ai reconstitué à partir d'autres questions sur ce site. Afin de redonner à la communauté, j'ai pensé qu'il était juste de partager ce que j'ai appris. Espérons que cela aide quelqu'un:
Grâce à ces sources:
source 1 et source 2
Vous pouvez également calculer la matrice inverse et utiliser le mapPoints() méthode: