Flutter 頁面下拉刷新和上拉加載

flutter_easyrefresh

正如名字同樣,EasyRefresh很容易就能在Flutter應用上實現下拉刷新以及上拉加載操做,它支持幾乎全部的Flutter控件。它的功能與Android的SmartRefreshLayout很類似,一樣也吸收了不少三方庫的優勢。EasyRefresh中集成了多種風格的Header和Footer,可是它並無侷限性,你能夠很輕鬆的自定義。使用Flutter強大的動畫,甚至隨便一個簡單的控件也能夠完成。EasyRefresh的目標是爲Flutter打造一個強大,穩定,成熟的下拉刷新框架。github地址:https://github.com/xuelongqy/flutter_easyrefreshhtml

特色功能:

  • 支持Andorid(光暈),ios(越界回彈)效果
  • 支持絕大多數Widget
  • 支持自定義而且已經集成了不少炫酷的 Header 和 Footer
  • 支持下拉刷新、上拉加載(可自動)
  • 支持 Header 和 Footer 列表嵌入以及視圖浮動兩種形式
  • 支持列表事件監聽,製做任何樣子的 Header 和 Footer,而且可以放在任何位置
  • 支持首次刷新,並自定義視圖
  • 支持自定義列表空視圖

此次就用easy_refresh插件,實現下拉刷新以及上拉加載功能。ios

1.在 pubspec.yaml 中添加依賴:

flutter_easyrefresh: ^1.2.7

而後頁面引入:git

import 'package:flutter_easyrefresh/easy_refresh.dart';

2.在佈局文件中添加 EasyreFresh

// 方式一
 EasyRefresh( child: ScrollView(), onRefresh: () async{ .... }, onLoad: () async { .... }, ) // 方式二
 EasyRefresh.custom( slivers: <Widget>[], onRefresh: () async{ .... }, onLoad: () async { .... }, ) // 方式三
 EasyRefresh.builder( builder: (context, physics, header, footer) { return CustomScrollView( physics: physics, slivers: <Widget>[ ... header, ... footer, ], ); } onRefresh: () async{ .... }, onLoad: () async { .... }, )

3.觸發刷新和加載動做

EasyRefreshController _controller = EasyRefreshController(); .... EasyRefresh( controller: _controller, .... ); .... _controller.callRefresh(); _controller.callLoad();

4.控制加載和刷新完成

EasyRefreshController _controller = EasyRefreshController(); .... EasyRefresh( enableControlFinishRefresh: true, enableControlFinishLoad: true, .... ); .... _controller.finishRefresh(success: true); _controller.callLoad(success: true, noMore: false);

製做上拉加載效果示例

http://www.javashuo.com/article/p-buugrytt-ea.htmlgithub

相關文章
相關標籤/搜索