Flutter 如何在颤振中将文本与左侧对齐

Flutter 如何在颤振中将文本与左侧对齐,flutter,dart,mobile,flutter-layout,flutter-animation,Flutter,Dart,Mobile,Flutter Layout,Flutter Animation,我正在尝试复制设计,但我不确定如何使我的所有文本像设计一样向左对齐,而不是居中对齐,但不确定如何做到这一点,因此如果我能得到帮助或建议,我将非常感激 Container( decoration: BoxDecoration( borderRadius: BorderRadius.only( bottomLeft: Radius.circular(10),

我正在尝试复制设计,但我不确定如何使我的所有文本像设计一样向左对齐,而不是居中对齐,但不确定如何做到这一点,因此如果我能得到帮助或建议,我将非常感激

            Container(
              decoration: BoxDecoration(
                borderRadius: BorderRadius.only(
                    bottomLeft: Radius.circular(10),
                    bottomRight: Radius.circular(10)),
                color: Theme.of(context).primaryColor,
              ),
              child: Padding(
                padding: EdgeInsets.symmetric(horizontal: 10),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: [
                    (widget.tileItems.length < 0)
                        ? null
                        : infoWidget(widget.tileItems[0]),
                    verticalBarSeparator(widget.tileItems[1].middleText),
                    (widget.tileItems.length < 1)
                        ? null
                        : tileWidget(widget.tileItems[1]),
                    verticalBarSeparator(widget.tileItems[2].middleText),
                    (widget.tileItems.length < 2)
                        ? null
                        : tileWidget(widget.tileItems[2]),
                    verticalBarSeparator(widget.tileItems[3].middleText),
                    (widget.tileItems.length < 3)
                        ? null
                        : tileWidget(widget.tileItems[3])
                  ],
                ),
              ),
            )



  Widget tileWidget(TileItem item) {
    return Padding(
      padding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
      child: Column(
        children: <Widget>[
          Text(item.topText, style: Theme.of(context).textTheme.h10),
          SizedBox(height: 5),
          Text(item.middleText),
          SizedBox(height: 5),
          Text(item.bottomText,
              style: TextStyle(
                color: int.parse(item.middleText) < 0
                    ? Color.fromRGBO(225, 0, 0, 1)
                    : Color.fromRGBO(67, 188, 72, 1),
              ))
        ],
      ),
    );
  }

容器(
装饰:盒子装饰(
borderRadius:仅限borderRadius(
左下角:半径。圆形(10),
右下角:半径。圆形(10)),
颜色:主题。背景。原色,
),
孩子:填充(
填充:边缘组。对称(水平:10),
孩子:排(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
(widget.tileItems.length<0)
无效的
:infoWidget(widget.tileItems[0]),
verticalBarSeparator(widget.tileItems[1].middleText),
(widget.tileItems.length<1)
无效的
:tileWidget(widget.tileItems[1]),
verticalBarSeparator(widget.tileItems[2].middleText),
(widget.tileItems.length<2)
无效的
:tileWidget(widget.tileItems[2]),
verticalBarSeparator(widget.tileItems[3].middleText),
(widget.tileItems.length<3)
无效的
:tileWidget(widget.tileItems[3])
],
),
),
)
小部件tileWidget(TileItem项){
返回填充(
填充:边缘组。对称(垂直:15,水平:10),
子:列(
儿童:[
Text(item.topText,style:Theme.of(context.textTheme.h10),
尺寸箱(高度:5),
文本(项目.中间文本),
尺寸箱(高度:5),
文本(项。文本,
样式:TextStyle(
颜色:int.parse(item.middleText)<0
?来自RGBO的颜色(225,0,0,1)
:颜色。来自RGBO(6718872,1),
))
],
),
);
}


尝试将列的crossAxisAlignment设置为左侧,它应该可以工作。如果未从默认设置更改crossAxisAlignment,则列将内容设置为中心。请尝试以下代码

 Widget tileWidget(TileItem item) {
return Padding(
  padding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
  child: Column(
        crossAxisAlignment: CrossAxisAlignment.left,
    children: <Widget>[
      Text(item.topText, style: Theme.of(context).textTheme.h10),
      SizedBox(height: 5),
      Text(item.middleText),
      SizedBox(height: 5),
      Text(item.bottomText,
          style: TextStyle(
            color: int.parse(item.middleText) < 0
                ? Color.fromRGBO(225, 0, 0, 1)
                : Color.fromRGBO(67, 188, 72, 1),
          ))
    ],
  ),
);
}
Widget tileWidget(TileItem项){
返回填充(
填充:边缘组。对称(垂直:15,水平:10),
子:列(
crossAxisAlignment:crossAxisAlignment.left,
儿童:[
Text(item.topText,style:Theme.of(context.textTheme.h10),
尺寸箱(高度:5),
文本(项目.中间文本),
尺寸箱(高度:5),
文本(项。文本,
样式:TextStyle(
颜色:int.parse(item.middleText)<0
?来自RGBO的颜色(225,0,0,1)
:颜色。来自RGBO(6718872,1),
))
],
),
);
}

尝试将列的crossAxisAlignment设置为左侧,它应该可以工作。如果未从默认设置更改crossAxisAlignment,则列将内容设置为中心。请尝试以下代码

 Widget tileWidget(TileItem item) {
return Padding(
  padding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
  child: Column(
        crossAxisAlignment: CrossAxisAlignment.left,
    children: <Widget>[
      Text(item.topText, style: Theme.of(context).textTheme.h10),
      SizedBox(height: 5),
      Text(item.middleText),
      SizedBox(height: 5),
      Text(item.bottomText,
          style: TextStyle(
            color: int.parse(item.middleText) < 0
                ? Color.fromRGBO(225, 0, 0, 1)
                : Color.fromRGBO(67, 188, 72, 1),
          ))
    ],
  ),
);
}
Widget tileWidget(TileItem项){
返回填充(
填充:边缘组。对称(垂直:15,水平:10),
子:列(
crossAxisAlignment:crossAxisAlignment.left,
儿童:[
Text(item.topText,style:Theme.of(context.textTheme.h10),
尺寸箱(高度:5),
文本(项目.中间文本),
尺寸箱(高度:5),
文本(项。文本,
样式:TextStyle(
颜色:int.parse(item.middleText)<0
?来自RGBO的颜色(225,0,0,1)
:颜色。来自RGBO(6718872,1),
))
],
),
);
}

首先将垂直条形分隔符和平铺边缘包裹在行内,并从对齐开始:

                Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: [
                    (widget.tileItems.length < 0)
                        ? null
                        : infoWidget(widget.tileItems[0]),
Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: [
                    verticalBarSeparator(widget.tileItems[1].middleText),
                    (widget.tileItems.length < 1)
                        ? null
                        : tileWidget(widget.tileItems[1]),
],),
Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: [
                    verticalBarSeparator(widget.tileItems[2].middleText),
                    (widget.tileItems.length < 2)
                        ? null
                        : tileWidget(widget.tileItems[2]),
],),
Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: [
                    verticalBarSeparator(widget.tileItems[3].middleText),
                    (widget.tileItems.length < 3)
                        ? null
                        : tileWidget(widget.tileItems[3])
],),
                  ],
                ),
行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
(widget.tileItems.length<0)
无效的
:infoWidget(widget.tileItems[0]),
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
verticalBarSeparator(widget.tileItems[1].middleText),
(widget.tileItems.length<1)
无效的
:tileWidget(widget.tileItems[1]),
],),
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
verticalBarSeparator(widget.tileItems[2].middleText),
(widget.tileItems.length<2)
无效的
:tileWidget(widget.tileItems[2]),
],),
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
verticalBarSeparator(widget.tileItems[3].middleText),
(widget.tileItems.length<3)
无效的
:tileWidget(widget.tileItems[3])
],),
],
),
第二,将平铺边线列设置为主对齐和交叉对齐,如下所示:

Widget tileWidget(TileItem item) {
    return Padding(
      padding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
      child: Column(
crossAxisAlignment: CrossAxisAlignment.left,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: <Widget>[
Widget tileWidget(TileItem项){
返回填充(
填充:边缘组。对称(垂直:15,水平:10),
子:列(
crossAxisAlignment:crossAxisAlignment.left,
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[

首先将垂直条形分隔符和平铺边缘包裹在行内,并从对齐开始:

                Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: [
                    (widget.tileItems.length < 0)
                        ? null
                        : infoWidget(widget.tileItems[0]),
Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: [
                    verticalBarSeparator(widget.tileItems[1].middleText),
                    (widget.tileItems.length < 1)
                        ? null
                        : tileWidget(widget.tileItems[1]),
],),
Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: [
                    verticalBarSeparator(widget.tileItems[2].middleText),
                    (widget.tileItems.length < 2)
                        ? null
                        : tileWidget(widget.tileItems[2]),
],),
Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: [
                    verticalBarSeparator(widget.tileItems[3].middleText),
                    (widget.tileItems.length < 3)
                        ? null
                        : tileWidget(widget.tileItems[3])
],),
                  ],
                ),
行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
(widget.tileItems.length<0)
无效的
:infoWidget(widget.tileItems[0]),
划船(
mainAxisAlignment:mainAxisAlignment.sta