在Flutter中,我在列表视图中使用了RefreshIndicator,效果很好。我想从顶部下拉时刷新数据,如果从底部向上拉时加载更多分页数据。有没有办法在onRefresh回调中告诉它是从顶部还是从底部拉出的?
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return RefreshIndicator(
onRefresh: () {},
child: ListView ...
答案 0 :(得分:1)
我认为目前无法通过onRefresh
方法实现。
也许您可以通过ScrollController
来实现自己想要的目标:
1)定义它:var _scrollController = new ScrollController();
2)在initState
的w小部件上,添加滚动控制器
侦听器并检查元素是否已滚动,如果已滚动,则获取
他滚动的方向。此外,如果要加载
滚动到达列表末尾后,您还可以添加更多内容
在这里做。
_scrollController.addListener(() {
print(lastOffset < _scrollController.position.pixels ? "down" : "up");
lastOffset = _scrollController.position.pixels;
if (_scrollController.position.pixels ==
_scrollController.position.maxScrollExtent) {
// loadMoreContent();
}
});
});