Grid 如何在颤振中居中放置列和行项目?

Grid 如何在颤振中居中放置列和行项目?,grid,flutter-layout,Grid,Flutter Layout,我有一张小型货币兑换台。我没有使用网格。我使用了列和行。问题是,行中的项目没有显示在中心,如下面的Excel示例所示。 我必须使用什么小部件使项目居中 示例代码: return new Center( child: new Column( crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ new Row( mainAxisAlignment: Main

我有一张小型货币兑换台。我没有使用网格。我使用了列和行。问题是,行中的项目没有显示在中心,如下面的Excel示例所示。 我必须使用什么小部件使项目居中

示例代码:

return new Center(
  child: new Column(
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
      new Row(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          new Padding(
            padding: const EdgeInsets.fromLTRB(15.0, 5.0, 15.0, 5.0),
            child: new Icon(
              Icons.crop_rotate,
              color: Colors.white,
            ),
          ),
          new Padding(
            padding: const EdgeInsets.fromLTRB(15.0, 5.0, 15.0, 5.0),
            child: new Text("STG", style: mainHeadTextStyle),
          ),
          new Padding(
            padding: const EdgeInsets.fromLTRB(15.0, 5.0, 15.0, 5.0),
            child: new Text("EUR", style: mainHeadTextStyle),
          ),
          new Padding(
            padding: const EdgeInsets.fromLTRB(15.0, 5.0, 15.0, 5.0),
            child: new Text("USD", style: mainHeadTextStyle),
          ),
        ],
      ),
      new Row(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
....
....
....
返回新中心(
子:新列(
crossAxisAlignment:crossAxisAlignment.center,
儿童:[
新行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
新填料(
填充:LTRB(15.0,5.0,15.0,5.0)中的常数边集,
孩子:新图标(
Icons.crop\u旋转,
颜色:颜色,白色,
),
),
新填料(
填充:LTRB(15.0,5.0,15.0,5.0)中的常数边集,
子项:新文本(“STG”,样式:mainHeadTextStyle),
),
新填料(
填充:LTRB(15.0,5.0,15.0,5.0)中的常数边集,
子项:新文本(“EUR”,样式:mainHeadTextStyle),
),
新填料(
填充:LTRB(15.0,5.0,15.0,5.0)中的常数边集,
子项:新文本(“USD”,样式:mainHeadTextStyle),
),
],
),
新行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
....
....
....

如果希望整个表位于
中心
,请使用
列的
属性

mainAxisAlignment: MainAxisAlignment.center //Center Column contents vertically,
crossAxisAlignment: CrossAxisAlignment.center //Center Column contents horizontally,

mainAxisAlignment: MainAxisAlignment.center //Center Row contents horizontally,
crossAxisAlignment: CrossAxisAlignment.center //Center Row contents vertically,

如果您希望它与图片中的一样,请使用

mainAxisAlignment: MainAxisAlignment.spaceEvenly

如果需要细粒度控制,可以使用
间隔垫圈

Column(
  children: <Widget>[
    Spacer(), // 1st spacer
    Widget1(),
    Widget2(),
    Spacer(), // 2nd spacer
  ],
)
列(
儿童:[
垫片(),//第一个垫片
Widget1(),
Widget2(),
间隔符(),//第二间隔符
],
)


您也可以使用间隔垫圈(flex:2)更改flex

  • 在哥伦比亚

  • 成排

child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [...
                       .
                       ] 
 child: Row(
    mainAxisAlignment: MainAxisAlignment.center,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: [...
                       .
                       ]