在Flutter开发之ListView使用第三方pull_to_refresh加载更多(36) 中我们实现了下拉刷新、上拉分页加载的功能。今天介绍另一个ListView使用第三方flutter_refresh 来实现下拉刷新、上拉分页加载。

添加 flutter_refresh 依赖

官方文档:https://pub.flutter-io.cn/packages/flutter_refresh#-installing-tab-
我们可以通过pubspec.yaml文件引入最新版本

dependencies:pull_to_refresh: ^1.5.0

导入

import 'package:pull_to_refresh/pull_to_refresh.dart';

使用示例

import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'dart:async';
import 'package:flutter_refresh/flutter_refresh.dart';class ListViewFlutterRefresh extends StatelessWidget {@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text('flutter_refresh'),),body: new MyFlutterRefreshPage(title: 'Pull to refresh'),);}
}class MyFlutterRefreshPage extends StatefulWidget {MyFlutterRefreshPage({Key key, this.title}) : super(key: key);final String title;@override_MyFlutterRefreshPageState createState() => new _MyFlutterRefreshPageState();
}class _MyFlutterRefreshPageState extends State<MyFlutterRefreshPage> with TickerProviderStateMixin {Widget _itemBuilder(BuildContext context, int index) {return new Padding(key: new Key(index.toString()),padding: new EdgeInsets.all(10.0),child: Text("顺序数据:$index",style: TextStyle(fontSize: 14.0),),);}int _itemCount;@overridevoid initState() {_itemCount = 10;super.initState();}Future<Null> onFooterRefresh() {return new Future.delayed(new Duration(seconds: 2), () {setState(() {_itemCount += 10;});});}Future<Null> onHeaderRefresh() {return new Future.delayed(new Duration(seconds: 2), () {setState(() {_itemCount = 10;});});}@overrideWidget build(BuildContext context) {return new Scaffold(body: SafeArea(child: Refresh(onFooterRefresh: onFooterRefresh,onHeaderRefresh: onHeaderRefresh,childBuilder: (BuildContext context,{ScrollController controller, ScrollPhysics physics}){return Container(child: ListView.builder(physics: physics,controller: controller,itemBuilder: _itemBuilder,itemCount: _itemCount,));},)));}
}

效果图下:

综述:这个效果比较符合通用的样式。并且使用也很简单。推荐使用。

翻译来源:

https://pub.flutter-io.cn/packages/flutter_refresh#-readme-tab-

Flutter开发之ListView使用第三方flutter_refresh加载更多(37)相关推荐

  1. Flutter开发之ListView使用第三方pull_to_refresh加载更多(36)

    在Flutter开发之ListView下拉刷新&上拉加载更多(35) 中我们实现了下拉刷新.上拉分页加载的功能.但是使用起来非常不方便,且不满一屏时难以处理. 今天介绍ListView使用第三 ...

  2. Flutter开发之ListView下拉刷新上拉加载更多(35)

    在Flutter开发之ListView组件(21) 文章中,我们了解了ListView组件的基本使用.但是数据比较少,没有涉及分页加载.而实际开发中,下拉刷新和分页加载几乎是所有APP的标配.在iOS ...

  3. Flutter开发之ListView添加HeaderView和FooterView-2(39)

    参考文章:RecyclerView添加HeaderView和FooterView 接着Flutter开发之ListView添加HeaderView和FooterView-1 继续研究. 通过Recyc ...

  4. Flutter下拉刷新,上拉加载更多数据

    下拉刷新 很简单,直接使用 RefreshIndicator 组件, onRefresh 为重新获取数据的方法 Widget build(BuildContext context) {return S ...

  5. android listview自动加载更多,如何实现 Android ListView『上拉加载更多』?

    ListView上拉加载更多的UI需求 (1)向上滑动 ListView,当最后一个条目滚入屏幕时开始加载更多条目,在列表底部增加一个 footerView:一个 infinite progressB ...

  6. Flutter开发之ListView组件(21)

    欢迎点赞+关注.你的鼓励是我写作的动力! ListView是一个类似列的widget,它的内容对于其渲染框太长时会自动提供滚动. ListView 摘要: 用于组织盒子中列表的特殊Column 可以水 ...

  7. iOS 开发之 pdf 文档的加载与浏览的 4 种方式

    原文链接:http://www.jianshu.com/p/1d4305a02ea5 在我们的开发中,有些像电子书类型的 app 的开发会涉及到 pdf 文档的加载与展示.由于笔者项目中正好涉及到这块 ...

  8. Flutter开发之ListView添加HeaderView和FooterView(38)

    参考文章:Flutter ListView如何添加HeaderView和FooterView flutter的ListView添加HeaderView和FooterView使用CustomScroll ...

  9. Android下拉刷新、上拉加载更多组件FlyRefreshLayout详解

    舞动着键盘和鼠标,我誓言要把这个世界写的明明白白 本文出自门心叼龙的博客,属于原创类容,转载请注明出处.https://blog.csdn.net/geduo_83/article/details/8 ...

最新文章

  1. 黑色星期五Friday the Thirteenth
  2. R语言安装.tar.gz包
  3. Kendo Web UI Grid数据绑定,删除,编辑,并把默认英文改成中文
  4. LeetCode 1759. 统计同构子字符串的数目
  5. obs中音频和视频的同步
  6. 对字典转模型模块的理解
  7. python中的计时器timeit_python中的计时器:timeit
  8. paip.c++ 正则表达式的应用跟普通正则表达式的区别以及特别注意点总
  9. html5 移动端开发模板,搭建一个vue-cli的移动端H5开发模板
  10. mybatisplus的逻辑删除
  11. win7 计算机登录用户密码,Win7电脑无需知道密码绕过密码登录的操作方法?
  12. facebook登陆,如何邀请玩家成为测试人员
  13. 12款绝赞的Windows软件,让你的电脑再好用10倍
  14. 计算机专业29岁研究生毕业,26岁,你还会考研吗?毕业后都奔三了!_计算机考研科目...
  15. 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据,程序输出读到的数据中的奇数和偶数的个数。(Java经典编程案例)
  16. 挡不住,逃不过,还是阳了
  17. k8s创建service
  18. vue+elementUI+后端springboot多用户评论、回复、点赞
  19. 二叉树的自下而上、从右到左的层次遍历算法实现
  20. 华为通信能力开放系列--华为通信能力开放平台初印象

热门文章

  1. 使用 Caddy 自动化发布 Web 应用
  2. 用户体验分析:以 “师路南通网站” 为例
  3. 无线可穿戴产品致胜设计六大策略
  4. Hadoop2.7.3完全分布式搭建
  5. 何新生—你是哪国人?
  6. Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
  7. 滑动换屏——Fragment
  8. Bash shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义
  9. 【学习笔记】深入理解js原型和闭包(5)——instanceof
  10. 10条PHP编程习惯助你找工作