有了 Flutter RefreshIndicator,你能知道在 onRefresh 中它是从顶部还是底部被拉动的吗?

Pet*_*all 3 widget pull-to-refresh swiperefreshlayout flutter

在 Flutter 中,我在列表视图中使用 RefreshIndicator,效果很好。我想在从顶部下拉时刷新数据,如果从底部拉起则加载更多分页数据。有没有办法在 onRefresh 回调中判断它是从顶部还是从底部拉出?

class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
  return RefreshIndicator(
    onRefresh: () {},
    child: ListView ...
Run Code Online (Sandbox Code Playgroud)

Zro*_*roq 6

我认为目前通过该方法不可能做到这一点onRefresh。

也许你可以通过以下方式实现你想要的ScrollController:

1)定义:var _scrollController = new ScrollController();

2)在w widget initStateoverride上添加滚动控制器
侦听器并检查元素是否已滚动,如果是,则获取他滚动的方向。此外,如果您希望它在滚动到达列表末尾后加载更多内容,您也可以在此处执行此操作。

_scrollController.addListener(() {
    print(lastOffset < _scrollController.position.pixels ? "down" : "up");
    lastOffset = _scrollController.position.pixels;
    if (_scrollController.position.pixels ==
        _scrollController.position.maxScrollExtent) {
        // loadMoreContent();
       }
     });
});
Run Code Online (Sandbox Code Playgroud)