Vous voudrez peut-être obtenir les coordonnées de la position tapée par l'utilisateur sur l'écran du terminal Android, par exemple lorsque vous avez un tampon utilisant de l'électricité statique appuyé sur l'application et vérifier la cohérence du tampon en rassemblant les coordonnées touchées. .. Dans ce cas, vous pouvez obtenir plusieurs coordonnées de la position tapée en remplaçant la méthode onTouchEvent ou dispatchTouchEvent de la classe Activity.
Classe d'activité
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
this.onTouchEvent(event);
return super.dispatchTouchEvent(event);
}
private void onTouchEvent(MotionEvent motionEvent) {
//Obtenez la position tapée (à l'exception des cas où vous déplacez votre doigt sans le relâcher)
if (event.getActionMasked() == MotionEvent.ACTION_DOWN ||
event.getActionMasked() == MotionEvent.ACTION_POINTER_DOWN) {
StringBuilder builder = new StringBuilder();
this.coordinates = new ArrayList<>();
int count = event.getPointerCount();
//Correspond au moment où plusieurs endroits sont touchés
for (int i = 0; i < count; i++) {
int x = (int) event.getX(i);
int y = (int) event.getY(i);
Logger.d("# X: " + x + ", y: " + y + ", PointerID: " + event.getPointerId(i));
builder.append("(" + x + "," + y + "),");
Coordinate coordinate = new Coordinate(x, y);
this.coordinates.add(coordinate);
}
Logger.d("#Coordonner: " + builder.toString());
}
}
Classe de coordonnées
public class Coordinate {
private int x;
private int y;
public Coordinate(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
}
Recommended Posts