Flutter:这些不同的布局之间有什么区别:Align、Center、Container?

Flutter: Are there any difference between these different layouts: Align, Center, Container?

在flutter中,这些布局有什么区别吗? -

概念 - 1:


概念 - 2:

在内部,他们都在使用 Align

对齐:

Align 小部件允许您控制对齐方式,但如果您不向 alignment 参数传递任何内容,它默认为居中。

居中:

Center控件继承自Align控件,不允许设置alignment属性,所以默认居中。这个小部件的主要目的是让您的代码更短、更易读。

这是 Center 小部件的完整源代码:

class Center extends Align {
  /// Creates a widget that centers its child.
  const Center({ Key? key, double? widthFactor, double? heightFactor, Widget? child })
    : super(key: key, widthFactor: widthFactor, heightFactor: heightFactor, child: child);
}

容器:

当您设置 alignment 属性 时,

Container 小部件用 Align 小部件包装 child。它还支持其他东西,例如,如果您设置 widthheight,它会用 SizedBox 包装 child;如果你设置 color,它会用 ColoredBox 包裹 child;如果您设置 padding 属性,它会用 Padding 小部件包装 child