在我的应用程序中,我试图创建一个评论部分。在本节中,我希望用户能够以类似于 YouTube 应用程序的方式回复其他用户的评论。我已经成功创建了一个模式底部表单,显示了顶级评论,并且在几个流构建器的帮助下,它运行得很好。然而,我面临的问题是二级评论(回复人们的评论)。我想让用户点击评论并进入一个页面(仍在模式底部表单中),在那里他可以看到对评论的所有回复,也可以自己发表评论,如果他按回去,他就会去回到他所在的位置,可以继续滚动浏览顶级评论。
类似于 YouTube 应用程序的外观。我的想法是在底部工作表中使用 Navigator.push,在模式底部工作表中当前现有页面的顶部覆盖一个新页面,在这个新页面中,特定评论的第二级评论(回复)是被显示。但是,当我调用 Navigator.push 时,整个页面都会发生变化。整个父页面都会转移到新页面,而不仅仅是底部工作表中的内容。所以,这就是我的问题。我对想法持开放态度。
我的评论底部表后面的代码:
showModalBottomSheet(
context: context,
builder: (context) {
return
Container(
child: StatefulBuilder(
builder: (BuildContext context, setTheModalState) {
setModalState = setTheModalState;
return Container(
child: Column(
children: <Widget>[
Expanded(
child: StreamBuilder(listview))])}))}
Run Code Online (Sandbox Code Playgroud)
这就是我到目前为止所设计的。现在棘手的一点是按下回复按钮(消息图标)时在模式表中创建一个新页面
评论区代码:
showModalBottomSheet(
context: context,
builder: (context) {
return
Container(
child: StatefulBuilder(
builder: (BuildContext context, setTheModalState) {
setModalState = setTheModalState;
return Container(
child: Column(
children: <Widget>[
Expanded(
child: StreamBuilder(
stream: Firestore.instance
.collection("Replies")
.document(dream.documentID)
.collection(dream.documentID)
.orderBy('time', descending: true)
.snapshots(),
builder: (context, …Run Code Online (Sandbox Code Playgroud) 在你说这是一个重复的问题或者我应该使用嵌套流构建器之前,请听我说。
我正在设计一个社交媒体类型的应用程序。我希望用户在他们关注的人在他们的“我的关注者帖子”集合中发布一些内容时收到更新。在应用程序中,应用程序将检查当前用户的关注列表(他关注的人)的 firebase rtdb 并列出他们的 uid。
我计划使用所述列表来创建流列表(当然按时间排序)并将它们合并到一个流中,然后将其输入到私有提要页面上的流构建器中。
在此页面上,用户将能够轻松关注他们感兴趣的人发布的内容。
我认为这样的系统比在“私人订阅源”集合中拥有文档的每个用户更具成本效益,每当有人发布内容时,该应用程序都会读取他们的关注者列表,然后立即在他们的每个人中发布更新私人饲料。因为... 想象一个拥有 200 万粉丝的人。即瞬间写入 200 万次。后来,阅读了 200 万次。我认为对于发帖人来说,将帖子放在他们的“publicFeed”中会更具成本效益,而不同的关注者只需收听该提要并与他们保持联系。
但是.. 这需要实现多个流(超过 2 个)的合并。我该怎么做呢?
我曾尝试阅读 RxDart,但它对我来说完全是希腊文。我是飞镖的初学者。我现在只编码了大约 5 个月。