Как я могу определить, что палец перемещается в виджет или выходит из него

#flutter

#flutter

Вопрос:

Интересно, какой наилучший способ определить, перемещается ли палец в виджет или выходит из него, не поднимая палец?

Под этим я подразумеваю, например, что если у меня есть куча контейнеров, находящихся внутри родительского контейнера, то после касания, не поднимая пальца, я перемещаюсь по экрану и получаю уведомления о контейнерах, из которых выходит мой палец и в которые входит.

Я думаю, это следует сделать, добавив прослушиватель в родительский контейнер и прослушав событие onPointerMove, найдите контейнер, содержащий положение пальца. Но я понятия не имею, как сравнить положение пальца с положением контейнера.

Ответ №1:

То, о чем вы просите, может быть выполнено с помощью RenderBox и GestureDetector.

Я подготовил для вас демо-версию, чтобы вы могли ознакомиться с ее сутью.

Комментарии:

1. Извините, я забыл упомянуть, не поднимая палец. Простое прикрепление GD, похоже, не работает.

2. @hgl Я обновил свой ответ, поэтому, пожалуйста, взгляните. Я добавил код в gist, потому что он немного длинный. Я рекомендую вам запустить эту демонстрационную версию на своем устройстве, и если у вас все еще есть какие-либо сомнения, не стесняйтесь спрашивать.