@@ -164,7 +164,7 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
Function _onThreadTap;
|
Function _onThreadTap;
|
||||||
bool _showScrollToBottom = false;
|
bool _showScrollToBottom = false;
|
||||||
ItemPositionsListener _itemPositionListener;
|
ItemPositionsListener _itemPositionListener;
|
||||||
int messageListLength;
|
int _messageListLength;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@@ -207,9 +207,9 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
final newMessagesListLength = messages.length;
|
final newMessagesListLength = messages.length;
|
||||||
|
|
||||||
if (_itemPositionListener.itemPositions.value?.isNotEmpty == true &&
|
if (_itemPositionListener.itemPositions.value?.isNotEmpty == true &&
|
||||||
messageListLength != null) {
|
_messageListLength != null) {
|
||||||
final first = _itemPositionListener.itemPositions.value.first;
|
final first = _itemPositionListener.itemPositions.value.first;
|
||||||
final diff = newMessagesListLength - messageListLength;
|
final diff = newMessagesListLength - _messageListLength;
|
||||||
if (diff > 0) {
|
if (diff > 0) {
|
||||||
_scrollController.jumpTo(
|
_scrollController.jumpTo(
|
||||||
index: first.index + diff,
|
index: first.index + diff,
|
||||||
@@ -218,7 +218,7 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
messageListLength = newMessagesListLength;
|
_messageListLength = newMessagesListLength;
|
||||||
|
|
||||||
return Stack(
|
return Stack(
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
|
|||||||
Reference in New Issue
Block a user