Ich bin neu in Android Entwicklung und da ist es mir nicht sehr klar den Unterschied zwischen den Click, Touch und Gesture-Klassen in Android. Ist auf die Verallgemeinerung der anderen?Unterschied zwischen Click, Touch und Gesture in Android?
Antwort
Wenn Sie über bestimmte Klassen sprechen, ist es immer gut, den vollständig qualifizierten Namen einzubeziehen, um Mehrdeutigkeiten zu vermeiden.
Klicken Sie auf ist ziemlich generisch, so nehme ich an, dass Sie über android.view.View.OnClickListener sprechen. Dies ist eine Schnittstelle, die Ihre Widgetklasse implementieren kann, um die Rückrufmethode onClick() zu verwenden. Jeder Code in der onClick() -Methode wird ausgeführt, wenn Sie diese Ansicht (Schaltfläche) drücken.
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
Touch- android.view.View.OnTouchListener Die onTouchListener ist eine Schnittstelle, die OnTouch() Callback-Methode macht und gibt Ihnen den android.view.MotionEvent Mitglieder wie ACTION_BUTTON_RELEASE zugreifen. Die MotionEvent-Klasse ist sehr leistungsfähig für bewegungsbezogenes Verhalten.
folgende Beispiel ist aus Faden https://stackoverflow.com/a/11690679/1005142
imageButton.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP){
// Do what you want
return true;
}
return false;
}
});
Gesture android.view.GestureDetector.OnGestureListener Diese Klasse wird verwendet zu holen, wie der Benutzer seinen Finger mit UI-Gesten. Es gibt bereits viele Informationen auf der Android Dev-Seite im Gestenabschnitt http://developer.android.com/training/gestures/detector.html. Ein Beispiel für die Verwendung dieser Klasse wäre, wenn Sie fließend mit dem Finger auf der Tastatur schreiben würden, wo Sie auf Berührung, Bewegung und Beschleunigung achten müssen.