widget - 使用 Flutter RefreshIndicator,您能分辨出它是从 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();
}
});
});
推荐阅读
- python-3.x - 从 TF 数据集获取样本
- javascript - 即使所有轨道关闭,停止共享按钮也不会消失?
- python - 从数据框中的句子中的两个列表中提取单词
- django - 将图像渲染到 Django 管理中的选择/字符字段
- javascript - Electron“处理程序中发生错误” ipcRenderer.invoke
- python - 私有数据集的正确 GCS 路径是什么?
- android - 我们如何在 Scala 中使用 android JobIntentService?
- c# - Asp .net core SignalR 发送实时数据
- html - Web 开发制作按钮以更改图像和文本
- powerbi - Power BI - 与其他组织的人员共享报表时无法访问数据源