1 RefreshIndicator 下拉刷新控件

下拉刷新的时候会回调 onRefresh 方法

RefreshIndicator(onRefresh: _handleRefresh,child: ListView(children: _buildList(),),
),

2 上拉加载多

上拉加载更多的时候

@override void initState() { super.initState();_scrollController.addListener((){// 如果滑动到最大的可滚动位置if (_scrollController.position.pixels == _scrollController.position.maxScrollExtent){// 加载更多数据_loadData();}});}

import 'dart:core';import 'package:flutter/material.dart';List<String> city_names =  ["北京","上海","广州","深圳","南京","郑州","武汉","长江","黄河","哈尔滨","成都","重庆"];void main() => runApp(MyApp());class MyApp extends StatefulWidget {@override_MyAppState  createState() => _MyAppState();}class _MyAppState extends State<MyApp>
{ // 监听上拉刷新 设置一个控制器ScrollController _scrollController = ScrollController();@override void initState() { super.initState();_scrollController.addListener((){// 如果滑动到最大的可滚动位置if (_scrollController.position.pixels == _scrollController.position.maxScrollExtent){// 加载更多数据_loadData();}});}// 加载更多数据_loadData() async{await Future.delayed(Duration(seconds: 2));setState(() {List<String> list = List<String>.from(city_names);list.addAll(city_names);city_names = list;});}// 销毁void dispose(){_scrollController.dispose();super.dispose();      }Widget _item(String city){return Container(height: 80,margin: EdgeInsets.only(bottom: 5),alignment: Alignment.center,decoration: BoxDecoration(color: Colors.teal),child: Text(city,style: TextStyle(fontSize: 30,color: Colors.white)),);}List<Widget> _buildList(){return city_names.map((city) => _item(city)).toList();    }Future<Null> _handleRefresh() async {await Future.delayed(Duration(seconds: 2));setState(() {city_names = city_names.reversed.toList();});return null;}@override     Widget build(BuildContext context) {return MaterialApp(title: "刷新加载",home: Scaffold(appBar: AppBar(title: Text("下拉刷线"),),body:RefreshIndicator(          onRefresh: _handleRefresh,child: ListView(// 设置一个监听控制器controller: _scrollController,children: _buildList(),),),));}}

20-flutter下拉刷新与上拉加载相关推荐

  1. jquery手机端页面下拉刷新,上划加载更多

    手机页面下拉刷新,上划加载更多,IOS不能下拉的问题解决 -转圈的是需要引用样式,代码删除了 上划加载时的样子 <script type="text/javascript"& ...

  2. 【Android开源控件】SmartRefreshLayout实现下拉刷新,上划加载

  3. Flutter 21: 图解 ListView 下拉刷新与上拉加载 (三)【RefreshIndicator】

    小菜前段时间整理了两种 ListView 的异步加载数据时,下拉刷新与上滑加载更多的方式,每种方式都有自己的优势,网上也有很多大神讲解过 ListView 数据流的种种处理方式,小菜根据实际遇到的情况 ...

  4. Flutter ListView封装,下拉刷新、上拉加载更多

    Flutter ListView封装,下拉刷新.上拉加载更多 ​ 封装了Flutter的ListView,只要传递请求数据的方法和绘制item的方法进去就可以绘制ListView,同时支持下拉刷新.上 ...

  5. Flutter ListView 下拉刷新与上拉加载更多

    ListView 下拉刷新与上拉加载更多 import 'dart:async'; import 'package:flutter/material.dart';/*** 有状态StatefulWid ...

  6. ListView下拉刷新、上拉载入更多之封装改进

    在Android中ListView下拉刷新.上拉载入更多示例一文中,Maxwin兄给出的控件比较强大,前面有详细介绍,但是有个不足就是,里面使用了一些资源文件,包括图片,String,layout,这 ...

  7. 使用MUI框架,模拟手机端的下拉刷新,上拉加载操作。

    套用mui官方文档的一句话:"开发者只需关心业务逻辑,实现加载更多数据即可".真的是不错的框架. 想更多的了解这个框架:http://dev.dcloud.net.cn/mui/ ...

  8. vue使用better-scroll实现下拉刷新、上拉加载

    本文目的是为了实现列表的下拉刷新.上拉加载,所以选择了better-scroll这个库. 用好这个库,需要理解下面说明 必须包含两个大的div,外层和内层div 外层div设置可视的大小(宽或者高)- ...

  9. vue better-scroll 使用 下拉刷新、上拉加载

    我的目的是为了实现列表的下拉刷新.上拉加载,所以选择了better-scroll这个库. 用好这个库,需要理解下面说明 必须包含两个大的div,外层和内层div 外层div设置可视的大小(宽或者高)- ...

  10. Android RecyclerView封装下拉刷新与上拉加载更多

    1 scanlistlibrary 基础组件说明(基于 RecyclerView的封装) 基本数据列表(支持下拉刷新与上拉加载更多) 九宫格数据显示封装(支持下拉刷新与上拉加载更多) 瀑布流数据显示封 ...

最新文章

  1. 分布式缓存Redis Centos下单节点安装
  2. Socket之TCP服务器【Python】
  3. shell中的常用通配符,字符类
  4. 汽车电子嵌入式技术篇(一) -CRC-8和CRC-16算法
  5. 带你体验云原生场景下 Serverless 应用编程模型
  6. oracle 等待原因查找,查询引起锁等待的SQL语句
  7. TypeScript 热度超 C 与 Python、Go 开发收入高、运维吃香,调查了 65000 名开发者有这些发现!...
  8. Autolayout的简单介绍和示例代码
  9. adb服务无法开启问题解决方法
  10. 智慧水务技能——SWMM、最优化与预测理论及三维动态可视化
  11. 怎么在Windows系统中制作Mac系统U盘启动盘?
  12. 为知笔记数据备份方法
  13. [misc]T型知识实践结构的力量
  14. Codeforces Round #499 (Div. 2) : C. Fly
  15. Linux下mysql数据库从服务器A只迁移DATA文件夹到服务器B
  16. Edittext不自动获取焦点的方法
  17. 不同速度的蚂蚁跑圈相遇问题
  18. laravel voyager 安装
  19. 新诗一首:新冠肺炎战役记
  20. 基于51单片机的数字电容容值测量仪proteus仿真原理图PCB

热门文章

  1. MVC3项目依赖文件错误解决
  2. 如何使网站的右键失效
  3. 腾讯联姻开心网意欲何为
  4. [置顶] 如何搭建一个 Data Guard 环境
  5. pangilin 安装编译
  6. c, c++函数名编译符号修饰符说明
  7. JavaScript 读写文件
  8. .Net 中字符串性能
  9. 配置.net 3.0开发环境
  10. 为什么TCP的TIME_WAIT状态要保持2MSL?