容器类控件:
1.Padding
给子控件周围添加空白,跟随子控件大小。
Flutter中没有Margin(指没有该widget,container中有这个属性,但是原理上是使用padding来实现的),效果可以使用padding和其他widget结合的方式实现。
2.DecoratedBox
有装饰效果的容器,如边框、阴影、背景、颜色等。一般不能做根控件。
3.ConstrainedBox
约束子widget大小的容器,设置最大、最小尺寸。多层ConstrainedBox嵌套时,起作用的尺寸是各个ConstrainedBox的交集。一般不能做根控件。
4.SizedBox
指定大小的容器,相当于ConstrainedBox的特殊情况(最大宽度最小宽度相同,最大高度最小高度相同)。一般不能做根控件。
5.Transform
对子控件进行矩阵变换(作用于页面绘制时,控件在页面上的布局没有变化,只是试图效果发生了变化),可以缩放、平移、旋转。
6.RotatedBox
实现将子控件旋转的效果,区别于Transform.rotate。这个变换作用于布局时,即布局也发生了变化,与旋转前的位置、尺寸发生的根本性的变化。
7.Container
综合性容器,结合了上述容器的所有特性,可以添加装饰、限定大小、添加空白、添加矩阵变换效果。一般情况下,在页面内,尽可能大。做根控件时尺寸无限大,指定宽高也不管用,不可控(这个是我暂时看到的,后面有了更准确的认识来修改)。在外部包裹scaffold控件时,指定大小可以起作用。
8.Scaffold
是Flutter封装好的一个常用APP界面,包含顶部导航栏(包括菜单按钮、返回按钮)、标题、底部导航栏、浮动按钮、侧滑菜单。一般用来做根控件。