扑动。SingleChildScrollView 不会滚动到"定位"小部件



我正在使用flutter创建一个应用程序。我正在尝试创建一种盒子(使用Positioned小部件(,里面会有一个可滚动的小部件列表。我需要一个Positioned小部件来放置在堆栈的正确位置;框";小工具。我的问题是对象列表无法滚动。有什么建议吗?

Widget build(BuildContext context) {
return FutureBuilder<List<SoccerMatch>>(
future: SoccerApi().getAllMatches(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Positioned(
top: _queryData.size.height * 0.50,
bottom: -_queryData.size.height * 0.6,
right: _queryData.size.width * 0.1,
left: _queryData.size.width * 0.1,
child: SingleChildScrollView(
physics: ScrollPhysics(),
child:
Column(
children: [
ListView.builder(
scrollDirection: Axis.vertical,
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: snapshot.data!.length,
itemBuilder: (context, index)
{
return matchTile(snapshot.data![index]);
},
),
],
),
),

);
} else {
return Center(
child: CircularProgressIndicator(),
);
}
},
);
}

只需尝试使用以下更新您的FutureBuilder

FutureBuilder<List<SoccerMatch>>(
future: SoccerApi().getAllMatches(),
builder: (context, snapshot) {
print(snapshot);
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(),
);
}
if (snapshot.hasData) {
return Stack(
children: [
Positioned(
top: _queryData.size.height * 0.50,
bottom: -_queryData.size.height * 0.6,
right: _queryData.size.width * 0.1,
left: _queryData.size.width * 0.1,
child: SingleChildScrollView(
physics: ScrollPhysics(),
child:
Column(
children: (snapshot.data as List<SoccerMatch>).map((item) => matchTile(item)),
).toList()),
),
],
);
}
return SizedBox();
}
)

您只需要将底部替换为

height: _queryData.size.height * 0.5,

最新更新