使用 Flutter RefreshIndicator,您可以在 onRefresh 中判断它是从顶部还是底部被拉动的吗?
With a Flutter RefreshIndicator can you tell which way it was pulled, from top or bottom in onRefresh?
对于 Flutter,我将 RefreshIndicator 与我的列表视图一起使用,效果很好。我想在从顶部下拉时刷新数据,如果从底部向上拉则加载更多分页数据。有没有办法在 onRefresh 回调中判断它是从顶部还是从底部拉取的?
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return RefreshIndicator(
onRefresh: () {},
child: ListView ...
我认为目前无法通过 onRefresh
方法做到这一点。
也许你可以通过 ScrollController
:
实现你想要的
1) 定义它:var _scrollController = new ScrollController();
2) 在小部件上 initState
覆盖添加滚动控制器
侦听器并检查元素是否已滚动,如果是,则获取
他滚动的方向。此外,如果你想让它加载
滚动到列表末尾后的更多内容你也可以
在这里做。
_scrollController.addListener(() {
print(lastOffset < _scrollController.position.pixels ? "down" : "up");
lastOffset = _scrollController.position.pixels;
if (_scrollController.position.pixels ==
_scrollController.position.maxScrollExtent) {
// loadMoreContent();
}
});
});
对于 Flutter,我将 RefreshIndicator 与我的列表视图一起使用,效果很好。我想在从顶部下拉时刷新数据,如果从底部向上拉则加载更多分页数据。有没有办法在 onRefresh 回调中判断它是从顶部还是从底部拉取的?
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return RefreshIndicator(
onRefresh: () {},
child: ListView ...
我认为目前无法通过 onRefresh
方法做到这一点。
也许你可以通过 ScrollController
:
1) 定义它:var _scrollController = new ScrollController();
2) 在小部件上 initState
覆盖添加滚动控制器
侦听器并检查元素是否已滚动,如果是,则获取
他滚动的方向。此外,如果你想让它加载
滚动到列表末尾后的更多内容你也可以
在这里做。
_scrollController.addListener(() {
print(lastOffset < _scrollController.position.pixels ? "down" : "up");
lastOffset = _scrollController.position.pixels;
if (_scrollController.position.pixels ==
_scrollController.position.maxScrollExtent) {
// loadMoreContent();
}
});
});