[JAVA] [Android] Obtenez la position tapée (coordonnées) sur l'écran

Aperçu

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.

exemple

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

[Android] Obtenez la position tapée (coordonnées) sur l'écran
[Android] Obtenez la date du lundi
[Android] Liste tous les éléments de réglage sur l'écran de réglage
Obtenez la couverture du code JUnit sur Android.
Obtenez l'accélération et l'orientation du système de coordonnées mondial sur Android
Essayez d'utiliser le service sur Android Oreo
Comment le site Web s'affiche à l'écran
Obtenez votre numéro de version dans l'application Android
Je veux placer RadioButtons dans le même RadioGroup à n'importe quelle position de l'écran
[Android] Solution lorsque l'appareil photo ne peut pas être démarré sur Android 9
Importez une instance et utilisez-la sur un autre écran
[Android] Afficher les images et les caractères dans l'onglet ViewPager
[Android Studio] [Java] Comment réparer l'écran verticalement
Afficher la liste en setDétails à l'écran avec ressort-sécurité
[Android] Comment obtenir la langue de réglage du terminal
[Introduction] Affichez Android Studio Hello World sur l'émulateur
Je ne peux pas sortir de l'écran de la console Rails db
Je souhaite simplifier la sortie du journal sur Android
Jusqu'à ce que l'exemple de l'Assistant Google s'exécute sur Android Things
Je n'ai trouvé aucun moyen d'obtenir le code d'erreur lorsque j'ai reçu une exception sur Android
Accédez à l'API Web avec Get sur Android et traitez Json (Java pour le moment)