Флаттер: обнаружение касания нескольких виджетов - PullRequest
0 голосов
/ 12 мая 2019

У меня есть ряд из 4 кнопок, что если я хочу вызвать другой обратный вызов (или одну и ту же функцию с разными аргументами) при нажатии на каждую отдельную кнопку и на каждую комбинацию кнопок (одновременное нажатие двух или более кнопок).

Понятия не имею.

1 Ответ

0 голосов
/ 12 мая 2019
  1. Сначала вам нужно обернуть каждую кнопку GestureDetector, подробнее об этом здесь
  2. Вам нужен метод (_ handleMultiTouch) для обработки всех событий onTapDown, onTapUp и onTapCancel.

    onTapDown => _handleMultiTouch(..somebuttonId, the event)

  3. В _handleMultiTouch(int id, var event) вы объявляете всю логику работы с мультитач. Здесь вы сохраните, если пользователь нажал одну или две кнопки, или пользователь прекратил нажатие на кнопку 1 и т. Д. Используйте переключатель или статистику if и сохраните состояния касания.

...