Flutter Expanded 和 Flex 组件都用于在 Row 和 Column 中控制子组件的布局,但是它们有不同的作用:
-
Expanded 是一个布局限制,它告诉 Row 或 Column,它的子组件应该沾满剩余空间,而不是使用它们本来的大小。
-
Flex 是一个布局控制,它可以用来控制子组件在父级 Row 或 Column 中的相对大小比例,类似于 CSS 中的 flexbox 布局。
举个例子:如果您有一个 Row,其中有两个子组件,一个是 Expanded,另一个是 Flex,那么 Expanded 将会占用所有可用空间,而 Flex 将会按照其给定的比例分配其剩余空间。