2

Android 提供滚动状态RecyclerView.SCROLL_STATE_IDLE,例如告诉用户何时停止滚动。我无法在颤振或ScrollListener中找到任何替代方案。PageviewListView

我的问题

我需要检测 PageView 中的向上/向下滚动以执行一些基于此的操作。Flutter 给出了方向(_myPageViewController.position.userScrollDirection),但它给出了一个连续的回调。我只需要在用户停止滚动时检测它。

另一种情况

我需要在 listView 中自动播放视频。所以我需要检测用户何时停止滚动,然后获取位置并播放。

在 android 中,我会使用scrollListener中的帮助RecyclerView.SCROLL_STATE_IDLE状态来完成此操作。RecyclerView's在颤振中需要类似的东西。

4

1 回答 1

4

根据@pskink@doc NotificationListener<ScrollNotification>给出了滚动开始、滚动结束的回调。

NotificationListener<ScrollNotification>(
  onNotification: (scrollNotification) {
    if (scrollNotification is ScrollEndNotification) {
      print("Scroll End"); //Scroll end callback
     }
    return false;
    },
  child: ListView.builder(
      //...
      ),
)

这也适用于其他可滚动的小部件,如PageView.

于 2019-07-29T08:06:44.157 回答