本文目录
前言
前面已经介绍了基本的组件使用,这篇博主主要介绍单一子元素组件(Single-child)。单一子元素组件包括Container,Padding,Center,Align,FittedBox以及AspectRatio等。
Container
在Flutter开发中,使用的最多的就是这个Container,因此我们必须牢牢掌握使用它的相关知识。
这里博主先介绍一下Container的对齐方式(alignment),该属性接受Alignment对象。在其里面会传入两个参数,即double x和double y,取值范围都在[-1,1]之间,如下图所示:
从上图我们可以看出来,中间的位置X和Y都为0,它表示内容在Container里面正中间的位置。如果你想显示一段文字在中间,代码如下 :
body: Container(
color: Colors.red,
alignment: Alignment(0.0, 0.0),
child: new Text("Container",),
),
这里我们设置了背景色为红色,同时设置了文本的坐标为屏幕中间,如果你想把它设置到其他位置,更改Alignment的坐标值就可以了,上述代码实现效果如下:
从上面讲解的内容我们可以看出来,其坐标的值在[-1,1]之间,如果专门去记坐标的位置,会非常的麻烦,所以我们就需要用到Flutter提供的位置常量,如下所示:
Alignment.center==Alignment(0.0,0.0)
Alignment.centerLeft==Alignment(-1.0,0.0)
Alignment.topCenter==Alignment(0.0,-1.0)
Alignment.topLeft==Alignment(-1.0,-1.0)
Alignment.topRight==Alignment(1.0,-1.0)
Alignment.bottomCenter==Alignment(0.0,1.0)
Alignment.bottomLeft==Alignment(-1.0,1.0)
Alignment.bottomRight==Alignment(1.0,1.0)
Alignment.centerRight==Alignment(1.0,0.0)
Container的约束
有的时候,我们需要约束容器所占据的大小与空间。在大部分情况下,可以通过BoxConstraint来构建完成,BoxConstraint的属性如下:
属性 | 取值 |
---|---|
minWidth | 最小宽度 |
minHeight | 最小高度 |
maxWidth | 最大宽度 |
maxHeight | 最大高度 |
我们先来看一段使用的代码:
body: Container(
color: Colors.green,
child: new Text