我目前在AppBar
和页面内容中有一个带有背景的堆栈。我在页面中央显示一个Container
,并在Positioned
小部件的位置,其中包含一个grid/listview
。
@override
Widget build(BuildContext context) {
return Scaffold(
extendBodyBehindAppBar: true,
appBar: VehicleScreenAppBar(
title: title,
context: context,
),
body: LayoutBuilder(
builder: (contxt, vehicleListConstraints) {
return Stack(
overflow: Overflow.visible,
children: <Widget>[
AppBarBackDrop(constraints: vehicleListConstraints),
Positioned(
top: vehicleListConstraints.maxHeight * .15,
left: (vehicleListConstraints.maxWidth - vehicleListConstraints.maxWidth * .9) / 2,
child: Container(
color: Colors.red,
height: vehicleListConstraints.maxHeight * .6,
width: vehicleListConstraints.maxWidth * .9,
child: ListView.builder(
itemCount: 20,
itemBuilder: (context, i) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
height: 50,
color: Colors.blue,
child: Text('text'),
),
);
},
),
),
)
],
);
},
),
);
}
我遇到的问题是,当我拥有grid/listview
小部件时,Positioned
不滚动,并且我明确命名了所有但并非其构造函数的全部,即top:
,bottom:
,left:
,right:
。 (我懒洋洋地通过grid/listview
来构建.builder
)。
我有一个解决方法/破解方法,其中删除了Positioned
,然后将其替换为PageView
。然后PageView
有一个children: <Widget> [ Container() ]
,然后我通过边距构造函数的top:
和left:
进行定位。
这现在可以使用,但不适用于我要用于生产的东西。如何在不命名其所有构造函数的情况下让grid/listview
在Positioned
小部件内滚动?
@@ Morgan Hunt,您有没有解决这个问题?我遇到了同样的问题,确实找到了一种解决方法,该方法可在我的用例中很好地工作,但是我真的很想在Positioned小部件中使用滚动选项。