我的 ElevatedButton 在 StackWidget 中不工作。扑

My ElevatedButton not working in StackWidget. FLUTTER

我正在尝试在我的应用程序中使用 IndexStack。但是 StackElevatedButton 有问题。我尝试按下按钮,但它对我没有任何反应。但是下面的蓝色按钮仍然运行良好 感谢关心我的问题。

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,
    ),
  ],
),