【发布时间】:2020-12-15 13:54:46
【问题描述】:
我想知道 Flutter 中的 Stack 和 Column 有什么区别?我知道这两个小部件都负责将小部件堆叠在一起我有点困惑何时使用Stack 以及何时使用Column?
我还知道ListView 可以水平或垂直滚动,因此区别于Column 和Stack。但是Stack 和Column 都不能滚动。
那么这两者有什么区别呢?
【问题讨论】:
标签: flutter
我想知道 Flutter 中的 Stack 和 Column 有什么区别?我知道这两个小部件都负责将小部件堆叠在一起我有点困惑何时使用Stack 以及何时使用Column?
我还知道ListView 可以水平或垂直滚动,因此区别于Column 和Stack。但是Stack 和Column 都不能滚动。
那么这两者有什么区别呢?
【问题讨论】:
标签: flutter
Stack 小部件相对于其框的边缘定位其子级。它不一定将它们放在彼此之上,但这是可能的。 Positioned 小部件对于将孩子定位在 Stack 中非常有用。
Column 小部件以垂直数组的形式显示其子项。它将可用区域拆分为多个区域。 Expanded 小部件是调整孩子之间的空间比例的好选择。
Row 小部件只是Column 的横向变体。
【讨论】:
堆栈是一个小部件,用于“堆叠”(将一个小部件放在另一个之上),将它们叠加。
https://api.flutter.dev/flutter/widgets/Stack-class.html
另一方面,列就像它的名字一样,它是一个小部件,可让您将一个小部件一个接一个地放置,垂直排列。
【讨论】:
单行差。
1.Stack可以Overlap widgets,但columns不能重叠widgets。
如果您来自安卓背景,那么这应该很容易理解 像这样。
【讨论】: