Получите "подробности" о DoubleTap на Flutter GestureDetector - PullRequest
0 голосов
/ 03 августа 2020

Я разрабатываю приложение, в котором при двойном нажатии мне нужно выполнить некоторые действия, но для них требуется позиция, в которой было выполнено это двойное нажатие. Эта информация обычно содержится в деталях таких событий, как «onTapDown / Up».

Теперь я знаю, что вы можете вызывать как «onTapDown», так и «doubleTap» для GestureDetector, но если у вас есть дочерний элемент, который принимает жест «onTap» «onTapDown» не срабатывает при двойном касании. В моем случае у меня есть WebView под GestureDetector, поэтому срабатывает только onDoubleTap.

Я уже прокомментировал этот запрос (https://github.com/flutter/flutter/issues/20000) команде Flutter, чтобы добавить: детали "на" onDoubleTap ", но похоже, что это займет некоторое время.

В том же потоке они предлагают несколько решений, которые я уже пробовал. 1-й, используя этот код:

var lastTapDown = 0;

onTapDown: (details) {
  var now = DateTime.now().millisecondsSinceEpoch;
  if (now - lastTapDown < 200) {
    print("Double Tap!")
  }
  lastTapDown = now;
},

...

Это первое решение работает, но я не могу его использовать, поскольку мне нужно, чтобы WebView запрашивал "onTap".

И другой, использующий этот плагин: https://github.com/tomwyr/positioned-tap-detector, который я сделал, и это здорово, но он сталкивается с той же проблемой, что и я, "onTapDown" не сработает, если у вас есть ребенок, который выигрывает "onTap" на арене.

Так что, если кто-нибудь может помочь мне получить эти позиции, я буду очень признателен. :)

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...