我想在我的 ListView 里面放置很多大小不确定的 Flexible 我要怎么做。ListView 不能直接放置 Flexible ,Flexible 需要知道父组件约束条件。但我各个 Flexible 高度又相差很大,不想给它套 Container 固定住它的高度。
您可以尝试将每个 Flexible 包装在一个 SizedBox 中,并通过设定 SizedBox 的 height 属性来为每个子项设定高度限制。这样每个子项就可以自由地根据其内部内容来决定自己的高度,而不需要通过固定高度来实现。
示例代码如下:
ListView.builder(
itemCount: items.length,
itemBuilder: (BuildContext context, int index) {
return SizedBox(
height: 200, // 设置高度限制
child: Flexible(
child: // 子项内容
),
);
},
)
当然,如果您有一些特殊的需求,也可以尝试使用其他的组件,比如 Expanded、IntrinsicHeight 等来实现您的布局需求。