api.md 3.0 KB

EdgeInsets

  • fromLTRB(double left, double top, double right, double bottom):分别指定四个方向的填充。
  • all(double value) : 所有方向均使用相同数值的填充。
  • only({left, top, right ,bottom }):可以设置具体某个方向的填充(可以同时指定多个方向)。
  • symmetric({vertical, horizontal}):用于设置对称方向的填充,vertical指top和bottom,horizontal指left和right。

获取当前时间戳

  • DateTime.now().millisecondsSinceEpoch

布局容器

Container

  • child
  • padding: EdgeInsets.all(18.0)
  • margin: EdgeInsets.all(44.0)
  • width
  • height
  • alignment: Alignment.center 子 Widget 居中对齐
  • decoration Container 样式 BoxDecoration

IntrinsicHeight

  • 当我们使用行(row)的时候,子组件常常因为高度的不同,导致各个子组件里面的内容不能对齐。这个时候我们可以使用IntrinsicHeight来保持row中各个子组件高度一致,从而便于纵向居中对齐。

    new IntrinsicHeight(
    child: new Row(
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    children: <Widget>[
      new Container(color: Colors.blue, width: 100.0),
      new Container(color: Colors.red, width: 50.0,height: 50.0,),
      new Container(color: Colors.yellow, width: 150.0),
    ],
    ),
    );
    

    Row

    • mainAxisAlignment:主轴布局方式,row主轴方向是水平方向
    • crossAxisAlignment: 交叉轴的布局方式,对于row来说就是垂直方向的布局方式 java //一行3个控件,要平分放 mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.max, //交叉轴的布局方式,对于column来说就是水平方向的布局方式 crossAxisAlignment: CrossAxisAlignment.center, //就是字child的垂直布局方向,向上还是向下 verticalDirection: VerticalDirection.down, children: <Widget>[ Text('我是第1个'), Text('我是第2个'), Text('我是第3个'), ],

Column

Center

Padding

  • padding: const EdgeInsets.all(8.0),

Stack

Positioned

  • left
  • top
  • right
  • bottom

Spacer

  • 顾名思义只是一个间距控件,可以用于调节小部件之间的间距,它有一个flex可以进行设置

    Expanded

  • Expanded会尽可能的充满分布在Row, Column, or Flex的主轴方向上

    Flexible

  • Flexible也是为小部件提供空间的,但是不会要求子空间填满可用空间

Offstage 控件的显示与隐藏

  • offstage: true, //这里控制 当为true时控件隐藏
  • child: Container(color: Colors.blue,height: 100.0,),

LinearProgressIndicator

  • 可以使用SizedBox来设置高度与宽度

api 发起显示菊花

  • request(context, () async { await api .postAddGame(widget.details.id, Random().nextDouble() * 100, (Random().nextDouble() * 40).toInt(), Random().nextInt(300), start) .catchError((err) {}); ToastUtil.show("提交信息成功"); });