页面布局
如果小伙伴是从前端过来的,那么应该会对页面布局这块感到熟悉,跟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
最后更新于
这有帮助吗?