Verschieben Sie Ereignisse NACH LongPress
Wie kann ich hören das move-Ereignisse nach dem LongPress ist caled in meinem GestureDetector?
Wenn der Benutzer LongClick er startet den Auswahl-Modus, und ziehen Sie ein Quadrat auf den Bildschirm. Aber ich merkte, dass das onScroll ist nicht genannt, nach LongPress verbraucht wird.
- Was ist mit den
onFling
Veranstaltung vonGestureDetector
- ist er aufgerufen, nach dem anheben der finger nach oben von der langen Presse & verschieben? Alternativ können Sie auch versuchen, "raw"onTouchEvent
... - sind Sie konsumieren die LongPress? Sie können wählen, zu akzeptieren, die LongPress-event, aber dann false zurückgeben, so dass nichts oben auf das Ereignis zu behandeln. Es gibt auch die option zu deaktivieren LongPress in der Ansicht, wenn Sie es fangen.
- leider LongPress nicht verbraucht wird. Methode void zurückgibt, nicht boolean
- die Geste Handler gibt einen booleschen Wert zurück, wenn es verbraucht onMove Ereignisse mit einer ausreichend hohen Geschwindigkeit, um die trigger eine onFling Veranstaltung.
InformationsquelleAutor Marcos Vasconcelos | 2011-04-13
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versucht zu tun, zu kämpfen, für eine Weile, und jetzt die Lösung:
Hier ist mein OnTouch-Methode aus meiner Sicht:
Mein Gerät zurückgegeben ACTION_MOVE, wenn ich halten Sie den finger auf dem Bildschirm. Wenn Ihr tut, einfach mal den Zustand einiger gedrückt Flagge nach 0,5 s mit einem timer oder thread.
Hoffe, das hilft!
Habe ich getan, diese Aufgabe mithilfe der folgenden Begriffe:
Nehme an, dass ich das Bild Anzeigen und auf längeren drücken, Bild im dieses Bild-Ansicht würde ziehen können, und in der anderen Ansicht(z.B. Relative Layout)
Set MyClickListner auf Bild-Ansicht setOnLongClickListener () - Methode.
Legen Sie dann MyDragListner auf die Relative Layout(z.B. bigImageRelativeLayoutVw.setOnDragListener(neue MyDragListener());)