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.
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