如何使用listview.builder消除列抖动的RenderFlex错误?

问题描述

我正在按照下面的代码Flutter中构建列,该列具有嵌套的ListView.Builder, 但是它给出了RenderFlex的显示错误,我该如何解决

RenderFlex在底部溢出了116个像素。

   Column(
          children: [
            SizedBox(height: 25,),Column(
              mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment:CrossAxisAlignment.center,children: <Widget>[
                Row(
                  mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
                    //order container
                    Container(

                      height: 32,width: 160,decoration: Boxdecoration(

                        color: Colors.white,border: Border.all(
                          width:0.5,color: Color(0xFF766F6F),borderRadius: BorderRadius.circular(10.0),child: Center(
                        child: Text('Order Date',style: TextStyle(backgroundColor: Colors.white,color:Color(0xFF2e2a2a),fontFamily: 'Roboto',fontSize: 12,Container(
                      height: 32,decoration: Boxdecoration(
                        color: Colors.white,child: Center(
                        child: Text('19 May 2020'),],Row(
                  mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
                    Container(

                      height: 32,child: Center(
                        child: Text('Party',border: Border.all(

                          width:0.5,child: Center(
                        child: Text('Vardhman Textiles Ltd',SizedBox(height: 30,ListView.separated(
              separatorBuilder:
                  (BuildContext context,int index) {
                return SizedBox(
                  height: 16,);
              },shrinkWrap: true,itemCount: snapshot.data.content[key].length,itemBuilder: (context,index) {


                return Column(
                  children: [

                    Column(
                      mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.center,children: <Widget>[

                        Container(
                          height: 40,width: 320,decoration: Boxdecoration(
                            color: Color(0xFFFF0000),border: Border.all(
                              color: Color(0xFFFF0000),child: Center(
                            child: Text('ITEM DETAILS - ' + "1/2",style: TextStyle(color: Colors.white,fontWeight: FontWeight.bold,fontSize: 20,Row(
                          mainAxisAlignment: MainAxisAlignment.center,// crossAxisAlignment:CrossAxisAlignment.center,children: <Widget>[
                            Container(

                              height: 32,decoration: Boxdecoration(
                                color: Colors.white,border: Border.all(

                                  width:0.5,child: Center(
                                child: Text("Catalog Item",Container(
                              height: 32,child: Center(
                                child: Text(snapshot
                                    .data.content[key][index][0].sodPk,border: Border.all(
                                  width:0.5,child: Center(
                                child: Text('QTY.',child: Center(
                                child: Text('10',)
          ],)

由于我是扑扑学习的新手,请引导我,谢谢,我正在尝试使用Stack,但效果不好, 当我使用堆栈时,第一子列与listview.builder重叠,因此将其删除

请指导我解决方法

解决方法

您可以尝试用ListView.separated来包装Expanded Widget。扩展的作用是扩展“行”,“列”或“伸缩”的子级,以便该子级填充可用空间。这样就不会溢出