有两个选项可检索CustomScrollView的滚动位置。 documentation声明以下内容:



因此,我们有以下选择:

带有ScrollNotification的

  • NotificationListener
  • ScrollController

  • 在哪种情况下,您将NotificationListener与ScrollNotification vs ScrollController一起使用?

    谢谢 :)

    最佳答案

    如果您将NestedScrollView与嵌套的滚动条一起使用,则在内滚动条上使用scrollController会破坏NestedScrollView的链接,这意味着NestedScrollView将不再控制完整的滚动体验。在这种情况下,要获取有关内部滚动条的滚动位置的信息,可以使用NotificationListenerScrollNotification

    NotificationListener<ScrollNotification>(
      child: ListView.builder(
        itemCount: 10
        itemBuilder: (BuildContext context, int index) {
          return Text('Item $index');
        },
      ),
      onNotification: (ScrollNotification scrollInfo) {
        if (scrollInfo.metrics.pixels ==
            scrollInfo.metrics.maxScrollExtent) {
          onLoadMore();
        }
      },
    );
    

    相关答案here

    10-07 20:56