扑。 SingleChildScrollView 不会滚动到 Positioned 小部件
Flutter. SingleChildScrollView doesn't scroll into Positioned widget
我正在使用 flutter 创建一个应用程序。
我正在尝试创建一种框(使用定位小部件),其中会有一个可滚动的小部件列表。
我需要一个 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,
我正在使用 flutter 创建一个应用程序。 我正在尝试创建一种框(使用定位小部件),其中会有一个可滚动的小部件列表。 我需要一个 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,