注意: 滾動(dòng)組件添加: physics: ClampingScrollPhysics() 可以處理IOS系統(tǒng)的物理滾動(dòng)的效果(即橡皮筋效果)
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)莊河免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
ListView 是最常用的可滾動(dòng)組件之一,可以沿一個(gè)方向線性排布所有子組件,并且它也支持基于Sliver的延遲構(gòu)建模型
默認(rèn)構(gòu)造函數(shù):
ListView.builder:
ListView.separated:
ListView.separated 可以在生成的列表項(xiàng)之間添加一個(gè)分割組件,它比 ListView.builder 多了一個(gè) separatorBuilder 參數(shù),該參數(shù)是一個(gè)分割組件生成器。
RefreshIndicator 下拉刷新:
RefreshIndicator 是 Material 風(fēng)格的下拉刷新組件。
CupertinoSliverRefreshControl 下拉刷新:
CupertinoSliverRefreshControl 是 ios 風(fēng)格的下拉刷新控件。
上拉加載的功能,需要用到 ScrollController + ListView組件:
pubspec.yaml中配置該庫
先講一下選擇器適配器的格式如下
上面這個(gè)適配器的寫法看起來比較糟糕,數(shù)據(jù)少還可以一個(gè)一個(gè)的寫下去,一旦多了不可能一個(gè)個(gè)去寫,而是需要將給出的數(shù)據(jù)遍歷生成上面的這種格式
參考下面的數(shù)據(jù)數(shù)據(jù)處理,去生成相對(duì)應(yīng)的數(shù)據(jù)適配器
flutter_easyrefresh: ^2.0.5
Pub get一下
下面我就以flutter_easyrefresh這個(gè)插件進(jìn)行講解。
[參照]{ }
閑來有空,升級(jí)了新的SDK版本,之前舊的組件不再可用,封裝一個(gè)全新支持Dart“nullsafety”空安全特性、更加簡單易用的ListView組件。
利用NotificationListener的監(jiān)聽事件實(shí)現(xiàn)Pull up load more。
利用RefreshIndicator組件實(shí)現(xiàn)Pull down refresh。
已開源上傳至GITHUB,歡迎Star、Fork。