fix scrollview not sticking to bottom if composer sends multiline messages
This commit is contained in:
parent
ae8fa17db3
commit
f931615890
1 changed files with 6 additions and 1 deletions
|
|
@ -106,11 +106,16 @@ final class const RoomChat({
|
||||||
lastComposerHeight.value = composerSize.value;
|
lastComposerHeight.value = composerSize.value;
|
||||||
|
|
||||||
if (delta != 0) {
|
if (delta != 0) {
|
||||||
|
final wasAtBottom = scroll.atBottom;
|
||||||
|
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
final controller = scroll.scrollController;
|
final controller = scroll.scrollController;
|
||||||
if (!controller.hasClients) return;
|
if (!controller.hasClients) return;
|
||||||
|
|
||||||
controller.jumpTo(controller.position.pixels - delta);
|
final position = controller.position;
|
||||||
|
controller.jumpTo(
|
||||||
|
wasAtBottom ? position.minScrollExtent : position.pixels - delta,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue