Flutter 如何在Flatter中创建这样的自定义ListView项?

Flutter 如何在Flatter中创建这样的自定义ListView项?,flutter,flutter-layout,Flutter,Flutter Layout,我想创建如下列表项: class incomingLotsItem extends StatelessWidget{ 但我只能这样创建listItem: class incomingLotsItem extends StatelessWidget{ 代码如下: class incomingLotsItem extends StatelessWidget{ 收入地段收入地段; incomingLotsItem(文档快照快照){ } @凌驾 小部件构建(构建上下文){ Widget行1=行

我想创建如下列表项:

class incomingLotsItem extends StatelessWidget{

但我只能这样创建listItem:

class incomingLotsItem extends StatelessWidget{

代码如下:

class incomingLotsItem extends StatelessWidget{
收入地段收入地段; incomingLotsItem(文档快照快照){

}

@凌驾 小部件构建(构建上下文){

Widget行1=行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
Padding(Padding:EdgeInsets.fromLTRB(0,8,0,0),child:Text(“日期接受:”+incomingLots.dateAcceptance.split(“”[0])。replaceAll(“-”,“/”),style:TextStyle(fontSize:12,颜色:Colors.black),textAlign:textAlign.left,),
填充(填充:EdgeInsets.fromLTRB(0,8,0,0),子项:文本(“编号DDT:+incomingLots.ddtNumber,样式:TextStyle(字体大小:12,颜色:Colors.black),),),
],
);
窗口小部件row2=行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
填充(填充:EdgeInsets.fromLTRB(0,8,0,0),子项:文本(“批号:+incomingLots.lotNumber,样式:TextStyle(fontSize:12,颜色:Colors.black)),
填充(填充:EdgeInsets.fromLTRB(0,8,0,0),子项:文本(“原点:+输入批次。原点,样式:TextStyle(fontSize:12,颜色:Colors.black),),),
],
);
窗口小部件row3=行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
填充(填充:EdgeInsets.fromLTRB(0,8,0,0),子项:文本(“日期DDT:+incomingLots.ddtDate.split(“”[0”)。替换所有(“-”,“/”),样式:文本样式(fontSize:12,颜色:Colors.black)),
Padding(Padding:EdgeInsets.fromLTRB(0,8,0,0),child:Text(“数量:+incomingLots.quantity,style:TextStyle(fontSize:12,颜色:Colors.black),),
],
);
窗口小部件row4=行(
儿童:[
Padding(Padding:EdgeInsets.fromLTRB(0,8,0,0),child:Text(“食品名称:”+incomingLots.foodName,样式:TextStyle(fontSize:12,颜色:Colors.black)),
],
);
窗口小部件行5=行(
儿童:[
Padding(Padding:EdgeInsets.fromLTRB(0,8,0,0),child:Text(“截止日期:+incomingLots.dueDate.split(“”[0])。replaceAll(“-”,“/”),样式:TextStyle(fontSize:12,颜色:Colors.black,),)
],
);
控件列=列(
mainAxisAlignment:mainAxisAlignment.space,
儿童:[
第1排,第2排,第3排,第4排,第5排
],
);
返回列;
} }


请告诉我哪里错了?

我会这样做,而不是一列五行:

创建一行并在其中创建两列,每边一列。 然后,您可以向每列添加行(右侧5行,左侧3行)

我希望我帮了你,如果还不够清楚,请告诉我


我们需要使用CrossAxisAlignment.start以这种方式创建小部件。

我尝试了这种方法,但它无法解决我们的问题。如果这样做,第二列会被拉伸到第一列的高度,因为第一列的高度更高,这不会创建我们所需的UI。我们需要将每行每一列中的文本完全对齐。如果您有任何可以解决此问题的解决方案,请告诉我们。我尝试了您的解决方案,并对其进行了一些修改,我们必须使用CrossAxisAlignment.start。为使其真正起作用,默认值将将柱的高度拉伸到最大值。很高兴在这里,它在最后起到了作用,我建议你编辑我的答案,包括你的修复,以帮助他人。