import 'package:flutter/material.dart'; class LoginPage extends StatefulWidget { @override _LoginPageState createState() => _LoginPageState(); } class _LoginPageState extends State<LoginPage> { @override Widget build(BuildContext context) { var scaffold = Scaffold( appBar: new AppBar( leading: Builder( builder: (BuildContext context) { return IconButton( icon: new Icon(Icons.keyboard_backspace), onPressed: _pushSaved, ); }, ), title: new Text('登录'), ), body: Container( child: new Column( // start ,沿着主轴方向(垂直方向)顶部对齐; // end,沿着主轴方向(垂直方向)底部对齐; // center,沿着主轴方向(垂直方向)居中对齐; // spaceBetween ,沿着主轴方向(垂直方向)平分剩余空间; // spaceAround,把剩余空间平分红n份,n是子widget的数量,而后把其中一份空间分红2份,放在第一个child的前面,和最后一个child的后面; // spaceEvenly,把剩余空间平分n+1份,而后平分全部的空间,请注意和spaceAround的区别; mainAxisAlignment: MainAxisAlignment.start, //在主轴方向占有空间的值,默认是max mainAxisSize: MainAxisSize.max, // start ,垂直主轴方向(水平方向)左侧对齐; // end,垂直主轴方向(水平方向)右侧对齐; // center,垂直主轴方向(水平方向)居中对齐; // stretch ,垂直主轴方向(水平方向)拉伸子child; // baseline,和textBaseline一块儿使用, crossAxisAlignment: CrossAxisAlignment.start, // textDirection:文字布局方向 //TextDirection.ltr ,从左到右; // TextDirection.rtl,从右到作布局; textDirection:TextDirection.ltr, // down ,从上向下布局; // up,反过来从下向上布局 verticalDirection: VerticalDirection.down, textBaseline: TextBaseline.alphabetic, children: <Widget>[ new Text( '密码登录', style: new TextStyle( color: Colors.black, fontWeight: FontWeight.bold, ), ), Container( color: Colors.blue, height: 60, width: 60, ), Container( color: Colors.yellow, height: 60, width: 60, ), ], ), ), ); return scaffold; } void _pushSaved() {} }