我的 ElevatedButton 在 StackWidget 中不工作。扑
My ElevatedButton not working in StackWidget. FLUTTER
我正在尝试在我的应用程序中使用 IndexStack。但是 Stack 和 ElevatedButton 有问题。我尝试按下按钮,但它对我没有任何反应。但是下面的蓝色按钮仍然运行良好
感谢关心我的问题。
Codepen: https://codepen.io/sucanabo/pen/xxqPrRw
Stack
小部件的工作原理是,它从您提供的 children
列表中获取第一个 child,并使其成为呈现的 base
。
无论您在第一个 child 之后提供什么 children,都将在基础 child.
的 top
上呈现
因此,当您的 Positioned
child 成为基础时,您的 ListView
child(children
列表中的第二个)是呈现在您的 Positioned
小部件之上,因此会阻止所有交互。
如果您希望它与您的架构一起工作,请将 ListView
作为第一个 child 并将 Positioned
作为第二个 child,像这样,
Stack(
clipBehavior: Clip.none,
children: [
// First the ListView
ListView(
padding: EdgeInsets.fromLTRB(20.0, 50.0, 20.0, 20.0),
children: [],
),
// Then the Positioned
Positioned(
top: -35.0,
left: 0,
right: 0,
),
],
),
我正在尝试在我的应用程序中使用 IndexStack。但是 Stack 和 ElevatedButton 有问题。我尝试按下按钮,但它对我没有任何反应。但是下面的蓝色按钮仍然运行良好 感谢关心我的问题。
Codepen: https://codepen.io/sucanabo/pen/xxqPrRw
Stack
小部件的工作原理是,它从您提供的 children
列表中获取第一个 child,并使其成为呈现的 base
。
无论您在第一个 child 之后提供什么 children,都将在基础 child.
的top
上呈现
因此,当您的 Positioned
child 成为基础时,您的 ListView
child(children
列表中的第二个)是呈现在您的 Positioned
小部件之上,因此会阻止所有交互。
如果您希望它与您的架构一起工作,请将 ListView
作为第一个 child 并将 Positioned
作为第二个 child,像这样,
Stack(
clipBehavior: Clip.none,
children: [
// First the ListView
ListView(
padding: EdgeInsets.fromLTRB(20.0, 50.0, 20.0, 20.0),
children: [],
),
// Then the Positioned
Positioned(
top: -35.0,
left: 0,
right: 0,
),
],
),