页面布局

如果小伙伴是从前端过来的,那么应该会对页面布局这块感到熟悉,跟css页面的布局有点类似.每个控件的属性可能要用到才能知道,下面记录一些常用的。

Row、Column、

最常见的布局控件,可以创建行或列,子控件添加到Row或Column控件。 mainAxisAlignment、crossAxisAlignment 控制行或者列如何对齐子控件。 对于行,主轴水平运行,横轴垂直运行。 对于列,主轴垂直运行,横轴水平运行。

Row(
  children: <Widget>[
    const FlutterLogo(),
    const Expanded(
      child: Text('Flutter\'s hot reload helps you quickly and easily experiment, build UIs, add features, and fix bug faster. Experience sub-second reload times, without losing state, on emulators, simulators, and hardware for iOS and Android.'),
    ),
    const Icon(Icons.sentiment_very_satisfied),
  ],
)

stack

有点像css的绝对布局,可以在上面写widget

Stack(
  fit: StackFit.loose,
  alignment: Alignment.center,
  children: <Widget>[
    Text('hello'),
    Positioned(
     bottom: 10,
     child: Text('world'),
   )
 ],
),

Expanded Flexible

Expanded继承自 Flexible, Expanded控件具有一个flex属性,一个确定控件的弹性系数的整数,Expanded控件的默认flex系数为1。

要创建一组三个控件,其中中间的控件是其他两个控件的两倍,则将中间控件的弹性系数设置为2

List

Grid

NestedScrollView

SingleChildSriollView

最后更新于

这有帮助吗?