Flutter list.builder无法滚动

时间:2019-03-09 07:00:16

标签: flutter flutter-layout

我的身体中有一个选项卡,然后有一个列,在其中调用使用另一个小部件类构建卡的动态列表。一切似乎都正常,但我遇到了这个错误。

The following message was thrown during layout:
I/flutter ( 5090): A RenderFlex overflowed by 115 pixels on the bottom.

问题是,即使我将列表包装到灵活的小部件中,列表也无法滚动。这是构建列表的代码片段。我还启用了物理功能:AlwaysScrollableScrollPhysics(),但同样的问题。我知道如果固定一个特定的高度将可以使用,但是我不想这样做会导致整个想法失败。

Widget buildDynamicList(BuildContext context) {
    return new Flexible(
                //decoration: new BoxDecoration(border: new Border.all(width: 2.0)),
                //height:double.infinity,

                //fit: FlexFit.loose ,
                child: ListView.builder(
                  physics: AlwaysScrollableScrollPhysics(),
                    shrinkWrap: true,
                      itemCount: vehicles.length,                      
                      itemBuilder: (BuildContext ctxt, int index) {
                        return Row( 
                          mainAxisSize: MainAxisSize.max,
                          //mainAxisSize: MainAxisSize.max, 
                          children: <Widget>[ 
                            RouteTile(index: index)
                         // expansionConfigurableRouteTile(ctxt, index), 
                          ], 
                          );
                      }
                     )    
          );         
}

2 个答案:

答案 0 :(得分:1)

Flexible仅使您的孩子的身高可变。它不会使列表可滚动。为此,请使用SingleChildScrollView小部件包装您的Flexible小部件。

答案 1 :(得分:0)

删除shrinkWrap: true可以解决问题