但是在使用官方的下拉刷新 RefreshIndicator 發(fā)現(xiàn)沒法使用。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出當(dāng)涂免費(fèi)做網(wǎng)站回饋大家。
默默打開了源碼,我們?cè)賮砜匆豢础?/p>
首先,我調(diào)試到這個(gè),發(fā)現(xiàn)notification.depth不為0,其實(shí)也好理解,因?yàn)镹estedScrollView里面有很多能滾動(dòng)的東西。默認(rèn)的RefreshIndicator要求的是必須是第一層的它才其效果。
那么我改成,再試試呢?
在_handleScrollNotification方法中,我們可以看到會(huì)有很多ScrollNotification進(jìn)來,不同的,當(dāng)你滑動(dòng)在一個(gè)不能滾動(dòng)的list里面的時(shí)候,獲取的viewportDimension是為0.。這會(huì)覆蓋掉之前有viewportDimension的值。
所以我做了以下改動(dòng)
對(duì)于NestedScrollView 來說。我們只需要關(guān)注最大能滾動(dòng)viewportDimension,用這個(gè)來驅(qū)動(dòng)整個(gè)下拉刷新.
用法跟官方一致
最后放上 Github extended_nested_scroll_view ,如果你有更好的方式解決這個(gè)問題或者有什么不明白的地方,都請(qǐng)告訴我,由衷感謝。
pubspec.yaml中配置該庫(kù)
先講一下選擇器適配器的格式如下
上面這個(gè)適配器的寫法看起來比較糟糕,數(shù)據(jù)少還可以一個(gè)一個(gè)的寫下去,一旦多了不可能一個(gè)個(gè)去寫,而是需要將給出的數(shù)據(jù)遍歷生成上面的這種格式
參考下面的數(shù)據(jù)數(shù)據(jù)處理,去生成相對(duì)應(yīng)的數(shù)據(jù)適配器
這個(gè)小例子使用的是豆瓣 API 中?正在上映的電影?的開放接口,要實(shí)現(xiàn)的主要效果如下:
JSON 數(shù)據(jù)結(jié)構(gòu)
注意: 滾動(dòng)組件添加: physics: ClampingScrollPhysics() 可以處理IOS系統(tǒng)的物理滾動(dòng)的效果(即橡皮筋效果)
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組件:
當(dāng)前標(biāo)題:flutter下拉背景,flutter appbar 透明
文章出自:http://chinadenli.net/article20/dsijdjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、域名注冊(cè)、微信公眾號(hào)、App設(shè)計(jì)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)