我陷入了代码的一部分,当我在flutter中使用堆栈时,第一个小部件是整个堆栈的大小,因此我可以在第一个小部件之前放置其他小部件。如果小部件要溢出,我可以使用Overflow.visible,它将显示在堆栈大小之外,但是当我使用InkWell甚至GestureDetector时,它只是可见但不可单击,因为(我猜)它在可渲染小部件之外,但是如果此窗口小部件的某些部分(可单击的部分)在堆栈大小(堆栈列表中第一个窗口小部件的大小)的内部,则我只能单击此部分,而不能单击整个部分。
这不是真正的代码,但是有可能看到问题。
Scaffold(
body: Center(
child: Stack(
overflow: Overflow.visible,
children: <Widget>[
Container(
color: Colors.red,
height: 100,
width: 100,
),
Positioned(
top: -50,
left: 0,
child: GestureDetector(
onTap: () {
print("something");
},
child: Container(
color: Colors.blue.withOpacity(.5),
height: 100,
width: 100,
),
),
)
],
),
),
);
只有红色里面的部分可以点击。如果单击蓝色,则红色将不会打印“内容”。有人知道如何解决这个问题吗?