我有一列有3个 child 。第三个 child 有一个ListView。如何设置ListView的高度,使其不会溢出屏幕。我不想通过从屏幕高度中减去其他2个 child 的高度来计算高度。我尝试了LayoutBuilder,但是我得到的框约束具有无限高作为最大高度(BoxConstraints(0.0 <= w <= 360.0,0.0 <= h <= Infinity))
我的小部件树看起来像这样
Container( //Container A
height: MediaQuery.of(context).size.height,
child:Column(children:[
TitleWidget(),
SubtitleWidget(),
Container( //Container B
child:ListView(children:getChildren())
)
])
)
容器A的高度是屏幕高度。但是容器B的高度应为屏幕高度-TitleWidget()的高度-SubtitleWidget()的高度。
如果我未明确设置容器B的高度,则会收到“底部的X像素溢出RenderFlex”。
我在这里真的错过了什么吗?
谢谢
最佳答案
用扩展小部件而不是容器小部件包装列表 View 。
关于layout - 如何正确设置 ListView 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52918865/