2013-08-22 10 views
7

Meine App reagiert weniger auf mobile Geräte. Es scheint, dass viele (alle?) Browser eine 300ms delay setzen, um zu entscheiden, ob die Berührung eine einfache oder doppelte Berührung war.Gibt es eine FastClick-Bibliothek (oder eine andere Lösung) in Dart, um die 300 ms Verzögerung (Ghostclick) auf mobilen Geräten zu entfernen?

Es gibt Lösungen dafür, wie fastclick, aber ich frage mich, ob es einen mit Dart-Code gibt?

EDIT: Es gibt eine Methode preventGhostClick in: ClickBuster.dart, hat jemand jemals diese Methode ausprobiert? Beispiel?

+0

Haben Sie überlegt, js-interop zu verwenden? – SlackOverflow

+0

Ja. Ich war auf der Suche nach einer 100% Dart-Lösung (gebrauchsfertig). Bis jetzt gibt es keine und do-it-yourself oder js-interop mit fastclick scheinen die einzigen Möglichkeiten. –

Antwort

-1

Die Verzögerung ist unabhängig von jedem Browser, JavaScript oder Bibliothek wie Dart. So erkennt Android einen Doppelklick, indem er nach dem ersten Antippen wartet, wenn es einen zweiten gibt.

In der untergeordneten API von Android können Sie direkt auf Touch-Down- und Touch-Up-Ereignisse reagieren. Sie könnten dies mit Plain-Java (z. B. als Android-Dienst) implementieren, aber ich habe keine Ahnung, wie ich das aufrufen oder seine Berührungsereignisse mit Dart abhören kann.

+0

Es ist zwar nicht die Information, nach der ich gesucht habe (ich nehme an, die Antwort auf meine Frage ist nur -nein-), aber danke für die Android-Info, das Kopfgeld gehört dir. –

+0

Ja. Ich dachte, es ist besser, dir einen Weg zu geben, der zumindest möglich ist, anstatt dich mit dem "Nein" allein zu lassen. Können Sie mitteilen, wie Sie dieses Problem jetzt lösen? – jboi

+0

Im Moment sind es nur wenige Zeilen, die das onTouchStart-Abonnement nutzen. Ich werde schließlich [diese Logik] (https://developers.google.com/mobile/articles/fast_buttons) in Dart-Code versuchen. –