gpt4 book ai didi

flutter - flutter scrollView无法在Stream中滚动

转载 作者:行者123 更新时间:2023-12-03 03:33:22 24 4
gpt4 key购买 nike

我正在开发一个使用Firebase的Flutter项目,该项目具有一个StreamBuilder,该StreamBuilder创建的卡类似于博客App。每当我添加很多“博客”时,都会出现底部溢出错误,并且当我将body: MemoirsList(),包装在SingleChildScrollView中时,该应用程序将不允许我向下滚动。
这是MemoirsList()的代码:

  Widget MemoirsList() {
return Container(
child: memoirsStream != null
? ListView(
shrinkWrap: true,
children: <Widget>[
StreamBuilder(
stream: memoirsStream,
builder: (context, snapshot) {
return ListView.builder(
padding: EdgeInsets.symmetric(horizontal: 16),
itemCount: snapshot.data.documents.length,
shrinkWrap: true,
itemBuilder: (context, index) {
return MemoirsCard(
authorName: snapshot.data.documents[index].data['authorName'],
title: snapshot.data.documents[index].data["title"],
description: snapshot.data.documents[index].data['description'],
imgUrl: snapshot.data.documents[index].data['imgURL'],
);
});
},
)
],
)
: Container(
alignment: Alignment.center,
child: CircularProgressIndicator(),
),
);
}
MemoirsCard()的代码:
class MemoirsCard extends StatelessWidget {

String imgUrl, title, description, authorName;
MemoirsCard({@required this.imgUrl, @required this.title, @required this.description, @required this.authorName});

@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.only(bottom: 20),
height: 200,
child: Stack(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(10),
child: Image.network(
imgUrl,
width: MediaQuery.of(context).size.width,
fit: BoxFit.cover
)
),
Container(
height: 200,
decoration: BoxDecoration(
color: Colors.black54.withOpacity(0.3),
borderRadius: BorderRadius.circular(10),
),
),
Container(
width: MediaQuery.of(context).size.width,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
title,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 32,
fontWeight: FontWeight.w700
),
),
SizedBox(height: 8),
Text(
description,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w400
)
),
],
),
),
],
)
);
}
}

最佳答案

Listview.Builder内的Listview,这不是 flutter 建议您的好选择
只需将Listview替换为Column像这样修改代码

SingleChildScrollView(
child: Column(
children: <Widget>[
ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
...

关于flutter - flutter scrollView无法在Stream中滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62494202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com