【发布时间】:2023-01-16 14:37:03
【问题描述】:
在 Flutter 中,如何使一个小部件同时可滚动和可拖动?
出于某种原因,GestureDetector 的行为有点奇怪。例如:
return GestureDetector(
onHorizontalDragUpdate: onHorizontalScroll,
onScaleUpdate: onScale,
behavior: HitTestBehavior.opaque,
child: CustomPaint(
painter: SomeCustomPainter( /* some parameters */ ),
),
);
上面的 GestureDetector 位于 SingleChildScrollView 的深处。
问题是onHorizontalScroll 大部分时间触发onScale 应该触发。
在这种情况下(大约 10 次中有 9 次)小部件不会缩放。
可靠地使小部件可缩放的唯一方法是删除onHorizontalDargUpate,但之后就不能再拖动它了……
那么现在的问题是,如何让一个 widget 既可拖动又可缩放?非常感谢任何建议。谢谢你。
【问题讨论】: