Flutter上拉加載下拉刷新---flutter_easyrefresh

前言

Flutter默認不支持上拉加載,下拉刷新也僅僅支持Material的一種樣式。Android開發使用過SmartRefreshLayout的小夥伴都知道這是一個強大的刷新UI庫,集成了不少出色的動畫效果,而且對自定義支持很是好。接下來給你們介紹的就是,Flutter版本的刷新UI庫---flutter_easyrefresh,在功能方面已經很接近Android的SmartRefreshLayout。ios

Github地址:flutter_easyrefreshgit

介紹

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

特色功能:

  • 支持Andorid(光暈),ios(越界回彈)效果
  • 支持任意的ScrollView控件,若是不是進行簡單封裝便可(因此理論是全部控件)
  • 支持自定義而且已經集成了不少炫酷的 Header 和 Footer
  • 支持下拉刷新、上拉加載(可自動)
  • 支持 Header 和 Footer 列表嵌入以及視圖浮動兩種形式

傳送門

Demo

下載 APK-Demo框架

ApkDemo二維碼

簡單用例

1.在 pubspec.yaml 中添加依賴

//pub方式 dependencies: flutter_easyrefresh: last_version //導入方式 dependencies: flutter_easyrefresh: path: 項目路徑

2.在佈局文件中添加 EasyreFresh

import 'package:flutter_easyrefresh/easy_refresh.dart'; .... GlobalKey<EasyRefreshState> _easyRefreshKey = new GlobalKey<EasyRefreshState>(); .... new EasyRefresh( key: _easyRefreshKey, child: ScrollView(), onRefresh: () async{ .... }, loadMore: () async { .... }, )

3.觸發刷新和加載動做

// 若是不須要能夠不用設置EasyRefresh的key _easyRefreshKey.currentState.callRefresh(); _easyRefreshKey.currentState.callLoadMore();
import 'package:flutter_easyrefresh/easy_refresh.dart'; .... GlobalKey<RefreshHeaderState> _headerKey = new GlobalKey<RefreshHeaderState>(); GlobalKey<RefreshFooterState> _footerKey = new GlobalKey<RefreshFooterState>(); .... // 由於EasyRefresh會對Header和Footer進行更新,爲了與用戶保持統一的操做狀態,必須設置key // 不一樣的Header和Footer可能有不一樣的參數設置 new EasyRefresh( refreshHeader: MaterialHeader( key: _headerKey, ), refreshFooter: MaterialFooter( key: _footerKey, ), child: ScrollView(), .... )

QQ討論羣 - 554981921

進羣須知

這個羣不單單是解決EasyreFresh的問題,任何Flutter相關的問題均可以進行討論。正如它的名字同樣,有問必答,只要羣主有時間,都會幫你們一塊兒解決問題。less

相關文章
相關標籤/搜索