【问题标题】:Flutter ScrollController maxScrollExtent equals to 0.0Flutter ScrollController maxScrollExtent 等于 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?你能帮帮我吗?

标签: flutter dart flutter-layout


【解决方案1】:

对我来说,问题在于我的 ListView 在 ScrollView 中。移除 ScrollView 解决了这个问题。

【讨论】:

  • 任何解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 2019-06-08
  • 2021-08-22
  • 2019-05-16
  • 2021-12-19
  • 2021-04-25
相关资源
最近更新 更多