【问题标题】:What is the difference between a Stack and a Column in Flutter?Flutter 中的 Stack 和 Column 有什么区别?
【发布时间】:2020-12-15 13:54:46
【问题描述】:

我想知道 Flutter 中的 StackColumn 有什么区别?我知道这两个小部件都负责将小部件堆叠在一起我有点困惑何时使用Stack 以及何时使用Column

我还知道ListView 可以水平或垂直滚动​​,因此区别于ColumnStack。但是StackColumn 都不能滚动。

那么这两者有什么区别呢?

【问题讨论】:

    标签: flutter


    【解决方案1】:

    Stack 小部件相对于其框的边缘定位其子级。它不一定将它们放在彼此之上,但这是可能的。 Positioned 小部件对于将孩子定位在 Stack 中非常有用。

    Column 小部件以垂直数组的形式显示其子项。它将可用区域拆分为多个区域。 Expanded 小部件是调整孩子之间的空间比例的好选择。

    Row 小部件只是Column 的横向变体。

    【讨论】:

      【解决方案2】:

      堆栈是一个小部件,用于“堆叠”(将一个小部件放在另一个之上),将它们叠加。

      https://api.flutter.dev/flutter/widgets/Stack-class.html

      另一方面,列就像它的名字一样,它是一个小部件,可让您将一个小部件一个接一个地放置,垂直排列。

      https://api.flutter.dev/flutter/widgets/Column-class.html

      【讨论】:

        【解决方案3】:

        单行差。

        1.Stack可以Overlap widgets,但columns不能重叠w​​idgets。

        如果您来自安卓背景,那么这应该很容易理解 像这样。

        • 堆栈是相对布局,列是线性布局,但处于水平方向。

        【讨论】:

          猜你喜欢
          • 2021-03-28
          • 2014-05-24
          • 2019-11-09
          • 1970-01-01
          • 2016-06-10
          • 2020-05-26
          • 1970-01-01
          • 2023-01-26
          • 2019-12-27
          相关资源
          最近更新 更多