android - Flutter - 如何滚动到 ListView 的底部?

标签 android ios flutter dart mobile

我使用此代码滚动:

WidgetsBinding.instance?.addPostFrameCallback((_) => _scrollToEnd());
_scrollToEnd()方法是:
_scrollController.animateTo(
  _scrollController.position.maxScrollExtent,
  duration: const Duration(
    milliseconds: 200,
  ),
  curve: Curves.easeInOut,
);
想象一下这是一个普通的聊天屏幕。如果消息在 1 行,它会滚动到底部。但是,一旦消息到达 2 行以上,它就很难滚动到裸露的底部。消息的行数越多,滚动到底部的次数就越少。
这是我进入聊天时的样子:

但如果我进一步向下滚动,这是聊天的底部:

我注意到还有一种情况:
  • 我进入聊天。
  • 它像第一张图片一样向下滚动。
  • 如果我点击屏幕上的任何位置,它会继续滚动到 ListView 的底部,就像第二张图片一样。

  • 为什么会发生这种情况,我该如何解决?

    最佳答案

    我做了什么,使用 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/

    相关文章:

    android - 需要具有规范的 Android 设备列表

    ios - 是否允许让备用应用程序图标是动态的?

    flutter 网络 : Cannot scroll with mouse down (drag) (Flutter 2. 5+)

    flutter - 如何在 flutter 过渡期间为旧页面设置动画?

    java - 无法使用 Intent.ACTION_SEND_MULTIPLE 找到工作解决方案以将多个图像附加到电子邮件中

    android - 我怎样才能制作一个带有十进制和签名的文本编辑字段?

    ios - SoundCloud API,JSONKit + 64 位

    php - Swift 不解析来自 PHP 服务器的 JSON

    dart - 如何创建具有一个动态高度行的 3 行 Flutter 布局

    android - xml 文件中 View 的“类”属性