聊天:向上滚动和出现新的列表图块时,不要让列表跳转

时间:2019-02-24 11:49:48

标签: firebase-realtime-database flutter flutter-layout flutter-animation

有什么想法要实现以下目标吗?我正在群聊中-Firebaseanimatedlist。当我写消息时,_scrollController让列表跳到最后(已经编程)。当我现在向上滚动并且有来自其他组成员的新消息进入时,当前列表类型有点“跳跃”(因为底部有新消息)。从某个断点(偏移量?)开始,我只希望视图中什么都没有发生,但是当我再次向下滚动时,该消息仍应位于底部(例如,查看WhatsApp,具有相同的行为)。

FirebaseAnimatedList(
 defaultChild: SizedBox.expand(
  child: Center(child: CircularProgressIndicator())),
  controller: _scrollController,
  physics: const AlwaysScrollableScrollPhysics(),
  duration: Duration(milliseconds: 200),
  query: _queryDatabase,
  sort: (a, b) => b.value["timestamp"].compareTo(a.value["timestamp"]),
  padding: new EdgeInsets.all(8.0),
  reverse: true,
  itemBuilder: (BuildContext context, DataSnapshot snapshot,
   Animation<double> animation, int index) {
    return new ChatMessage(
      snapshot: snapshot, 
      animation: animation, 
      userId: _userId,
    );
   },
  )

0 个答案:

没有答案