1 RefreshIndicator
① 监听 ScrollNotification,获取下拉偏移量
② 构建 Stack 组件。将下拉溢出后顶部的动画和列表叠放在一起。
③ 自定义 Physics 组件,使得滚动的列表偏移到顶部动画的下方(重写 ScrollPhysics 的 applyPhysicsToUserOffset 方法即可)。
2 EasyRefresh
依赖自定义 BouncingScrollPhysics 组件,实现重写其 applyPhysicsToUserOffset 方法,监听偏移量的变更。
3 flukit 的 pull_refresh
通过 Listener 的 onPointerUp、onPointerDown 触发相应操作的监听。