我正在尝试使我的容器占用80%的可用空间。当我用ListView替换Column时,它起作用,但是当我使用ListView时,它不起作用。为什么会这样呢?

这是我的代码:

ListView(
 children: <Widget>[
  Container(
   width: MediaQuery.of(context).size.width * .8,
  )
 ]
)

最佳答案

感谢pskink提供解决方案。他通过使用Row小部件和三个Expanded小部件解决了这个问题。设置每个Flex小部件的Expanded属性可以使我的容器占用80%的宽度。这是基于@pskink解决方案的方法:

Row(
 children: <Widget>[
  Expanded(
    flex: 1,
    child: SizedBox(),
  ),
  Expanded(
    flex: 8,
    child: Container()
  ),
  Expanded(
    flex: 1,
    child: SizedBox(),
  ),
 ]
)

10-08 06:37