flutter - 如何检测用户是否开始垂直滚动 Listview.builder?

标签 flutter flutter-layout flutter-listview

如果用户开始滚动,我会尝试隐藏容器,以便为 ListView 提供更多空间和可见性。我尝试将 GestureDetector 作为 Listview.builer 的父级并使用其“onVerticalDragStart”,但没有运气。我是 flutter 的初学者,希望您能帮助我。谢谢!

最佳答案

您可以使用 ScrollController ,但是@Sp4Rx提出了更好的解决方案: NotificationListener<ScrollNotification>

您只需包装您的 ListView.builderNotificationListener具有通用类型 ScrollNotification处理 ScrollNotification s通过滚动您的 ListView 发送:

NotificationListener<ScrollNotification>(
  onNotification: (ScrollNotification notification) {
    if (notification is ScrollStartNotification) {
      // Handle your desired action on scroll start here.
    }

    // Returning null (or false) to
    // "allow the notification to continue to be dispatched to further ancestors".
    return null;
  },
  child: ListView.builder(...),
)

您可以查看 ScrollStartNotification here 的文档.

关于flutter - 如何检测用户是否开始垂直滚动 Listview.builder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57841166/

相关文章:

flutter - 如何在Flutter上实现Listview设计

flutter - 如何缩小ListTile中的图像而不展开它?

Flutter:滚动每个包含 1k 个选择的 DropdownButtons 列表太慢

flutter - 在 Flutter 中创建自定义小部件

android - Android Remote Mediator 类的 Flutter 等效项

mobile - 如何让flutter中的状态栏透明?

firebase - 如何在flutter中有效地访问firestore引用字段的数据?

Flutter 如何画半圆(半圆)

dart - 自定义主题无法正常工作。 [ flutter ]

flutter - 渲染帧在滚动多个图像时变得疯狂