我有一堆小部件:
堆栈中最底部的项目是填充堆栈的图像。它包含一个手势检测器。
它的下一项是位于此堆栈右上角的另一张图像。该图像还包裹在手势检测器中。
我想要的是,当用户单击右上角的小图像时,它应该只调用该右上角图像的手势回调。
当前行为:
两个图像的手势回调都被调用。
这是代码段:
FalconNeumorphicButton(
onPressed: () {},
child: Stack(
alignment: Alignment.center,
fit: StackFit.expand,
children: [
Positioned.fill(child: FalconImageWidget(image)),
Positioned(bottom: 0, height: height / 2, child: gradientTitleOverlay),
Positioned(
top: 16,
right: 16,
child: GestureDetector(
onTap: () {
onPressed?.call();
},
child: Container(
height: 40,
width: 40,
child: MyImage,
),
) ),
],
),
)
在上面的代码中,当我单击右上角的图像时,也将调用包围该图像的按钮的onPressed。我不希望这种情况发生。我该如何预防?
我曾尝试将HitTest.opaque的行为提供给较小容器的手势检测器,但它仍在检测按钮的触摸。