可拖动的小部件阻止滚动手势

Draggable widget blocks scroll gesture

我有一个像下面这样的树结构,基本上是 SingleChildScrollView 里面的 Row,其中 Row 的 children 是 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 似乎在消耗任何手势,因此,当点击(在本例中为长按)时,拖动效果起作用,但似乎没有其他手势起作用,所以基本上滚动不响应.

我尝试使用常规的 Draggable 而不是 LongPressDraggable,并使用 affinity 属性,但即使这样,滚动也没有响应,只有拖动。

有什么帮助或建议吗?

对于处理此问题的任何其他人(最后是愚蠢的情况)....

事实证明,问题并非来自 Draggable 本身......

出于某种原因,将 SingleChildScrollView 放在 Positioned 中可以防止滚动....

在这个bug中找到了线索:bug report

因此,在错误中提出的关于为 Positioned 的顶部、底部、左侧、右侧属性赋予双精度值的解决方案对我来说效果不佳。

所以...我使用完全相同的代码解决了它,但是 使用 Align 小部件而不是 Positioned