常规的垂直ListView将填充两个轴上的所有空间,而shrinkWrap
将使其在主轴上收缩 ,但是,如何使它在交叉轴上收缩呢? ,是否只占用最大孩子所需的空间,同时又受最大可用水平空间的限制?像这样:
答案 0 :(得分:2)
你不能。
仅当儿童在屏幕上可见时,他们才被布置。这意味着ListView
不知道其子级的最大跨轴尺寸。
如果孩子数量少,则可以将ListView
替换为SingleChildSrollView
,然后将包含所有孩子的Column
添加为孩子
SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
color: Colors.red,
width: 50.0,
height: 200.0,
),
Container(
color: Colors.yellow,
width: 100.0,
height: 200.0,
),
Container(
color: Colors.red,
width: 50.0,
height: 200.0,
),
Container(
color: Colors.red,
width: 50.0,
height: 200.0,
),
],
),
),