[JAVA] [Android] Ermittelt die getippte Position (Koordinaten) auf dem Bildschirm

Überblick

Möglicherweise möchten Sie die Koordinaten der Position, auf die der Benutzer tippt, auf dem Bildschirm des Android-Terminals abrufen, z. B. wenn Sie einen Stempel mit statischer Elektrizität auf die Anwendung gedrückt haben, und die Konsistenz des Stempels überprüfen, indem Sie die berührten Koordinaten zusammenstellen. .. In diesem Fall können Sie mehrere Koordinaten der getippten Position abrufen, indem Sie die Methode onTouchEvent oder dispatchTouchEvent der Activity-Klasse überschreiben.

Beispiel

Aktivitätsklasse


    @Override
    public boolean dispatchTouchEvent(MotionEvent event) {
        this.onTouchEvent(event);

        return super.dispatchTouchEvent(event);
    }

    private void onTouchEvent(MotionEvent motionEvent) {
        //Holen Sie sich die getippte Position (ausgenommen Fälle, in denen Sie Ihren Finger bewegen, ohne ihn loszulassen)
        if (event.getActionMasked() == MotionEvent.ACTION_DOWN || 
            event.getActionMasked() == MotionEvent.ACTION_POINTER_DOWN) {
            StringBuilder builder = new StringBuilder();
            this.coordinates = new ArrayList<>();
            int count = event.getPointerCount();

            //Entspricht dem Antippen mehrerer Stellen
            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("#Koordinate: " + builder.toString());
        }
    }

Klasse koordinieren


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] Ermittelt die getippte Position (Koordinaten) auf dem Bildschirm
[Android] Holen Sie sich das Datum von Montag
[Android] Listet alle Einstellungselemente auf dem Einstellungsbildschirm auf
Erhalten Sie JUnit-Codeabdeckung für Android.
Holen Sie sich die Beschleunigung und Ausrichtung des Weltkoordinatensystems auf Android
Versuchen Sie, den Dienst auf Android Oreo zu verwenden
Wie die Website auf dem Bildschirm angezeigt wird
Holen Sie sich Ihre Versionsnummer in der Android-App
Ich möchte RadioButtons an derselben Stelle auf dem Bildschirm in derselben RadioGroup platzieren
[Android] Lösung, wenn die Kamera unter Android 9 nicht gestartet werden kann
Importieren Sie eine Instanz und verwenden Sie sie auf einem anderen Bildschirm
[Android] Zeigen Sie Bilder und Zeichen auf der Registerkarte ViewPager an
[Android Studio] [Java] So fixieren Sie den Bildschirm vertikal
Zeigen Sie die Liste in setDetails mit Federsicherheit auf dem Bildschirm an
[Android] So erhalten Sie die Einstellungssprache des Terminals
[Einführung] Zeigen Sie Android Studio Hello World auf dem Emulator an
Ich kann den Bildschirm der Rails-Datenbankkonsole nicht verlassen
Ich möchte die Protokollausgabe unter Android vereinfachen
Bis das Google Assistant-Beispiel auf Android Things ausgeführt wird
Ich habe keine Möglichkeit gefunden, den Fehlercode abzurufen, als ich eine Ausnahme unter Android erhalten habe
Greifen Sie mit Get on Android auf die Web-API zu und verarbeiten Sie Json (vorerst Java).