我爱模板网 > 建站教程 > APP开发,混合APP >  Flutter ListView嵌套Listview问题和Column嵌套ListView问题正文

Flutter ListView嵌套Listview问题和Column嵌套ListView问题

Flutter的ListView或Column或Row嵌套ListView,往往会报下面的错误:

RenderBox was not laid out: RenderFlex.....

这是因为ListView或Column或Row嵌套ListView,会有问题,解决办法如下:

一、ListView嵌套ListView问题:
ListView(
    children: <Widget>[
        ListView(
            shrinkWrap: true, //为true可以解决子控件必须设置高度的问题
            physics:NeverScrollableScrollPhysics(),//禁用滑动事件
        ),
    ],
)
如果需要两个listview同时滑动,则需要向他们传同一个scrollcontroller
ScrollController _scrollController;
  ListView(
    controller:_scrollController,
    children: <Widget>[
        ListView(
            controller:_scrollController,
        ),
    ],
)
二、Column嵌套ListView问题,给listView套个有高度的Container或SizedBox:
Column(
    children: <Widget>[
        Container(
            height: ScreenUtil().setHeight(800),
            child: ListView.builder(
                scrollDirection: Axis.vertical,
                itemBuilder:(context,index){
                    return _getListItem(index);
                },
                itemCount: list.length,
            ),
        ),
    ],
)
上面的问题也能用expanede解决,更加灵活,见:Flutter Column等容器嵌套ListView报错

以上两个问题,都是因为嵌套着和被嵌套着都存在滚动问题,滚动冲突了。

部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!
上一篇:flutter为Container设置背景图片 下一篇:Flutter图片圆角的实现
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
选择头像:
最新评论

猜你喜欢