Flutter:这些不同的布局之间有什么区别:Align、Center、Container?
Flutter: Are there any difference between these different layouts: Align, Center, Container?
在flutter中,这些布局有什么区别吗? -
概念 - 1:
居中布局
对齐(
对齐方式:Alignment.center, child: ...)
容器(
对齐方式:Alignment.center, child: ...)
概念 - 2:
对齐(
对齐方式:任何对齐方式,child: ...)
容器(
对齐方式:任何对齐方式,child: ...)
在内部,他们都在使用 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
。它还支持其他东西,例如,如果您设置 width
或 height
,它会用 SizedBox
包装 child
;如果你设置 color
,它会用 ColoredBox
包裹 child
;如果您设置 padding
属性,它会用 Padding
小部件包装 child
。
在flutter中,这些布局有什么区别吗? -
概念 - 1:
居中布局
对齐( 对齐方式:Alignment.center, child: ...)
容器( 对齐方式:Alignment.center, child: ...)
概念 - 2:
对齐( 对齐方式:任何对齐方式,child: ...)
容器( 对齐方式:任何对齐方式,child: ...)
在内部,他们都在使用 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
。它还支持其他东西,例如,如果您设置 width
或 height
,它会用 SizedBox
包装 child
;如果你设置 color
,它会用 ColoredBox
包裹 child
;如果您设置 padding
属性,它会用 Padding
小部件包装 child
。