我使用此代码滚动:
WidgetsBinding.instance?.addPostFrameCallback((_) => _scrollToEnd());
_scrollToEnd()
方法是:_scrollController.animateTo(
_scrollController.position.maxScrollExtent,
duration: const Duration(
milliseconds: 200,
),
curve: Curves.easeInOut,
);
想象一下这是一个普通的聊天屏幕。如果消息在 1 行,它会滚动到底部。但是,一旦消息到达 2 行以上,它就很难滚动到裸露的底部。消息的行数越多,滚动到底部的次数就越少。这是我进入聊天时的样子:
但如果我进一步向下滚动,这是聊天的底部:
我注意到还有一种情况:
为什么会发生这种情况,我该如何解决?
最佳答案
我做了什么,使用 listView 并反转 true,在 child 中使用 map.reversed 列表,我在下面给你我的代码示例。
ListView(
reverse: true,
children: controller.listMessageData.reversed
.map((e) => Container(child: Text(e.title));
关于android - Flutter - 如何滚动到 ListView 的底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69715005/