Flutter ScrollController maxScrollExtent 等于 0.0
Posted
技术标签:
【中文标题】Flutter ScrollController maxScrollExtent 等于 0.0【英文标题】:Flutter ScrollController maxScrollExtent equals to 0.0 【发布时间】:2021-02-06 06:58:21 【问题描述】:我为聊天应用程序创建了一个设计,并尝试自动滚动到结束,我使用了这段代码
scrollController.animateTo(
scrollController.position.maxScrollExtent,
curve: Curves.easeOut,
duration: const Duration(milliseconds: 500),
);
什么也没发生,ofc 列表应用了控制器
child: ListView.builder(
padding: EdgeInsets.symmetric(vertical: 10),
shrinkWrap: true,
controller: scrollController,
itemCount: chatMessage.length,
itemBuilder: (context, index)
return ChatBubble(
chatMessage: chatMessage[index],
isDark: widget._isDark,
);
,
)
我尝试打印 maxScrollExtent 以查看是否有问题。 最大和最小滚动范围都等于 0.0。 animateTo 函数也在 postFrameCallback 中调用。 listview 长度始终为 20,目前它是一个简单的列表。
【问题讨论】:
不起作用,最大值和最小值仍然为0.0,没有任何反应 还是一样,我试了一两秒 是的,是true
所以您的列表视图位于其他一些可滚动的小部件中,对吧?很可能这就是为什么你的 maxScrollExtent 永远不会被分配的原因
@pskink 我的列表视图在列内,但我仍然得到最大值和最小值 0.0?你能帮帮我吗?
【参考方案1】:
对我来说,问题在于我的 ListView 在 ScrollView 中。移除 ScrollView 解决了这个问题。
【讨论】:
任何解决方案以上是关于Flutter ScrollController maxScrollExtent 等于 0.0的主要内容,如果未能解决你的问题,请参考以下文章
Flutter ScrollController maxScrollExtent 等于 0.0
25.Flutter的ListView监听滚动事件之ScrollController
Flutter - 使用 StreamBuilder 从 firebase 获取数据后,如何使用 ScrollController 跳转到列表视图的底部?