FLutter flutter_easyrefresh 刷新组件

关键字 : Flutter APP

正如名字一样,EasyRefresh 很容易就能在 Flutter 应用上实现下拉刷新以及上拉加载操作,它支持几乎所有的 Flutter 控件。它的功能与 Android 的SmartRefreshLayout 很相似,同样也吸取了很多三方库的优点。EasyRefresh 中集成了多种风格的 Header 和 Footer,但是它并没有局限性,你可以很轻松的自定义。使用 Flutter 强大的动画,甚至随便一个简单的控件也可以完成。EasyRefresh 的目标是为 Flutter 打造一个强大,稳定,成熟的下拉刷新框架。

文档简单用例

1.在 pubspec.yaml 中添加依赖

//pub 方式
dependencies:
 flutter_easyrefresh: ^2.1.7

//导入方式
dependencies:
 flutter_easyrefresh:
   path: 项目路径

//git 方式
dependencies:
 flutter_easyrefresh:
   git:
     url: git://github.com/xuelongqy/flutter_easyrefresh.git

2.在布局文件中添加 EasyreFresh


import
'package:flutter_easyrefresh/easy_refresh.dart';

....
 // 方式一
 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.finishLoad(success: true, noMore: false);

使用指定的 Header 和 Footer

import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:flutter_easyrefresh/material_header.dart';
import 'package:flutter_easyrefresh/material_footer.dart';
....
 new EasyRefresh(
   header: MaterialHeader(),
   footer: MaterialFooter(),
   child: ScrollView(),
  ....
)

添加国际化支持

不提供自带国际化支持,请自行设置 ClassicalHeader 和 ClassicalFooter 中需要展示的文字。

下拉刷新 onRefresh

只要在 onRefresh 方法里面,作数据下载的动作,下载完数据后,把值给 files.