Чат: не позволяйте списку прыгать, когда прокручивается вверх, и появляются новые плитки списка - PullRequest
0 голосов
/ 24 февраля 2019

Есть идеи, как добиться следующего? Я в групповом чате - 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,
    );
   },
  )
...