Ass*_*sin 0 listview dart flutter google-cloud-firestore
我正在使用 flutter 和 firebase 构建一个一对一的聊天应用程序,我想在发生当天的标签下显示所有聊天,就像在所有主要聊天应用程序上一样。毫无疑问,我按升序从 firestore 检索数据通过在每条消息的时间戳字段上使用 order by 命令来显示时间。但是如何显示每个不同日期的日期标签。目前我正在使用 pub.dev 中的 grouped_list 包将聊天分为不同的组,但我希望处理我自己的逻辑是,有没有什么方法可以通过 flutter 中的 list.view builder 来实现相同的效果。
在我看来,以前的方法对于使用后端数据的实际应用程序来说并不合适。我们应该动态地将列表与日期分开。通过简单的检查即可轻松清晰地完成。
像这样的东西
ListView.builder(
reverse: true,
itemBuilder: (context, int index) {
/// separate feed by dates
Widget separator = SizedBox();
if (index != 0 && messages[index].createdAt.day != messages[index - 1].createdAt.day) {
separator = Container(
height: 2,
width: Get.width,
color: Colors.black,
);
}
return Column(
children: [
separator,
MessageBubbleWidget(messages[index]),
],
);
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4351 次 |
最近记录: |