1.Flutter 中的线性布局(Android 中 LinearLayout)
在 Flutter 中,可以使用 Row (横向)和 Column (纵向) widget 来实现同样的效果:
void main() {
runApp(MaterialApp(home: MyApp()));
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('1'),
Text('2'),
Text('3'),
Text('4'),
],
);
}
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('1'),
Text('2'),
Text('3'),
Text('4'),
],
);
}
}
2.Flutter 中的相对布局(Android 中 RelativeLayout)
在 Flutter 中,可以通过 Column、Row 和 Stack 的组合来实现相对布局的效果。
3.使用 widget 定义布局属性
在 Flutter 中,布局主要由专门设计用于提供布局的小部件定义,并结合控件 widget 及样式属性。
如,行和列 widgets 控制一个数组中的条目,并且将它们分别垂直和水平对齐。Container widget 控制一个布局的样式和属性,Center widget 负责将它的子 widget 居中。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Column(
children: <Widget>[
Container(
color: Colors.red,
width: 100.0,
height: 100.0,
),
Container(
color: Colors.blue,
width: 100.0,
height: 100.0,