我想要一个具有固定数量的项目的可滚动视图。第一个项目应覆盖父容器,而用户可以向下滚动以查看其余项目。
我试图将Expanded添加到第一个项目,但我得到白色屏幕
ListView(
children: <Widget>[
Expanded(child: MainInfo(),),
Divider(height: 2, color: Colors.black,),
MainInfo(),
Divider(height: 2, color: Colors.black,),
MainInfo(),
Divider(height: 2, color: Colors.black,),
MainInfo(),
Divider(height: 2, color: Colors.black,),
MainInfo(),
],
),
我应该使用ListView或SingleChildScrollView(也没有使用Expanded)?
展开不能在可滚动窗口小部件中使用。你可以这样做:
ListView(
children: <Widget>[
Container(height:MediaQuery.of(context).size.height,child: MainInfo(),),
Divider(height: 2, color: Colors.black,),
MainInfo(),
Divider(height: 2, color: Colors.black,),
MainInfo(),
Divider(height: 2, color: Colors.black,),
MainInfo(),
Divider(height: 2, color: Colors.black,),
MainInfo(),
],
),
我已经设法通过使用返回ListView的LayoutBuilder来实现这一目标
LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return ListView(
children: <Widget>[
Container(
child: MainInfo(),
height: constraints.maxHeight,
),
Divider(
height: 2,
color: Colors.black,
),
MainInfo(),
Divider(
height: 2,
color: Colors.black,
),
MainInfo(),
Divider(
height: 2,
color: Colors.black,
),
MainInfo(),
Divider(
height: 2,
color: Colors.black,
),
MainInfo(),
],
);
}),