颤抖:以编程方式将Listview滚动到末尾效果不佳

时间:2019-06-19 15:25:43

标签: listview flutter

我需要滚动到屏幕初始打开位置的ListView的末尾。我使用过this solution,但是当聊天足够大时会出现问题:_scrollController.jumpTo(_scrollController.position.maxScrollExtent)只是没有跳到列表的末尾:它跳到末尾之前,所以我必须手动滚动几乎可以达到屏幕的高度。不过,当添加新条目时(我是说一个接一个)-_scrollController.animateTo(_scrollController.position.maxScrollExtent, duration: const Duration(milliseconds: 200), curve: Curves.linear)可以正常工作(我的意思是,动画滚动与一项的“展开区域”配合良好)。

当前,我使用以下方法实例化ListView

ListView.builder(
            controller: _scrollController,
            itemCount: messages.length,
            itemBuilder: (_, int index) =>
                _buildMessageEntry(messages[index]))

我试图将构造函数调用更改为默认调用,但这并不能解决问题。

有没有一种方法可以可靠地滚动到列表的末尾?

PS:列表不是reverse: true-最新消息应该在列表的底部,所以我不能仅将reverse设置为true并使用{{ 1}}。

0 个答案:

没有答案