Перетаскиваемый виджет блокирует жест прокрутки - PullRequest
0 голосов
/ 29 января 2020

У меня есть древовидная структура, подобная следующей, в основном Row внутри SingleChildScrollView, где дочерние элементы Row Draggables.

Positioned(
          top: 250,
          left: 30,
          child: Container(
            child: SingleChildScrollView(
              scrollDirection: Axis.horizontal,
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: initialState.map((f) => LongPressDraggable(
                  child: f,
                  feedback: Transform.scale(scale: 0.4, child: f),
                  childWhenDragging: Container(),
                )).toList(),
              ),
            ),
          ),
        ),

Проблема в том, что Draggable, кажется, потребляет любой жест, так что при нажатии (долгое нажатие в этом случае) эффект перетаскивания работает, но никакой другой жест, кажется, не работает, поэтому в основном прокрутка не отвечает.

Я пытался использовать вместо LongPressDraggable, обычного Draggable и используется свойство affinity, но даже при этом, прокрутка не отвечает, только перетаскивание.

Любая помощь или предложение?

1 Ответ

0 голосов
/ 03 февраля 2020

Для всех, кто имеет дело с этим (в конце глупой ситуации) ....

Оказывается, что проблема НЕ исходит от самого Draggable ... ..

По какой-то причине размещение SingleChildScrollView внутри Positioned предотвращает прокрутку ... .... 1010 *

Найдена подсказка в этой ошибке: отчет об ошибке

Так что решение, предложенное в сообщении об указании двойных значений для свойств top, bottom, left, right для Positioned, не сработало для меня.

Итак. ..Я решил это, используя точно такой же код, но используя Align виджет вместо Positioned.

...