Can';不要在ListView中使用MediaQuery

Can';不要在ListView中使用MediaQuery,listview,flutter,dart,Listview,Flutter,Dart,我正在努力使我的容器占据80%的可用空间。当我用列替换列表视图时,它起作用,但当我使用列表视图时,它不起作用。为什么会这样 这是我的密码: ListView( children: <Widget>[ Container( width: MediaQuery.of(context).size.width * .8, ) ] ) ListView( 儿童:[ 容器( 宽度:MediaQuery.of(context).size.width*.8, ) ] ) 普金的解

我正在努力使我的容器占据80%的可用空间。当我用
替换
列表视图
时,它起作用,但当我使用
列表视图
时,它不起作用。为什么会这样

这是我的密码:

ListView(
 children: <Widget>[
  Container(
   width: MediaQuery.of(context).size.width * .8,
  )
 ]
)
ListView(
儿童:[
容器(
宽度:MediaQuery.of(context).size.width*.8,
)
]
)

普金的解决方案赢得了极大的赞誉。他通过使用一个
小部件和三个
扩展的
小部件解决了这个问题。设置每个
扩展的
小部件的
Flex
属性可以让我的容器占据80%的宽度。以下是基于@pskink的解决方案我是如何做到这一点的:

Row(
 children: <Widget>[
  Expanded(
    flex: 1,
    child: SizedBox(),
  ),
  Expanded(
    flex: 8,
    child: Container()
  ),
  Expanded(
    flex: 1,
    child: SizedBox(),
  ),
 ]
)
行(
儿童:[
扩大(
弹性:1,
子项:SizedBox(),
),
扩大(
弹性:8,
子:容器()
),
扩大(
弹性:1,
子项:SizedBox(),
),
]
)

您需要一个带有两个孩子的
小部件:一个孩子有
flex:8
,另一个孩子有
flex:2
-更多:@pskink感谢您再次回复。这次成功了。请将其作为答案贴在这里,并添加一些解释,以便我能将其标记为正确。然后写一个自我回答…@pskink你确定吗?我想为你的答案给你25分。我现在将发布一个@pskink。Tysm.it应该是
,而不是
列表视图
?@pskink哦,是的。对不起,打错了。