但是在使用官方的下拉刷新 RefreshIndicator 發現沒法使用。
公司主營業務:成都網站建設、成都網站設計、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。成都創新互聯公司是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創新互聯公司推出當涂免費做網站回饋大家。
默默打開了源碼,我們再來看一看。
首先,我調試到這個,發現notification.depth不為0,其實也好理解,因為NestedScrollView里面有很多能滾動的東西。默認的RefreshIndicator要求的是必須是第一層的它才其效果。
那么我改成,再試試呢?
在_handleScrollNotification方法中,我們可以看到會有很多ScrollNotification進來,不同的,當你滑動在一個不能滾動的list里面的時候,獲取的viewportDimension是為0.。這會覆蓋掉之前有viewportDimension的值。
所以我做了以下改動
對于NestedScrollView 來說。我們只需要關注最大能滾動viewportDimension,用這個來驅動整個下拉刷新.
用法跟官方一致
最后放上 Github extended_nested_scroll_view ,如果你有更好的方式解決這個問題或者有什么不明白的地方,都請告訴我,由衷感謝。
pubspec.yaml中配置該庫
先講一下選擇器適配器的格式如下
上面這個適配器的寫法看起來比較糟糕,數據少還可以一個一個的寫下去,一旦多了不可能一個個去寫,而是需要將給出的數據遍歷生成上面的這種格式
參考下面的數據數據處理,去生成相對應的數據適配器
這個小例子使用的是豆瓣 API 中?正在上映的電影?的開放接口,要實現的主要效果如下:
JSON 數據結構
注意: 滾動組件添加: physics: ClampingScrollPhysics() 可以處理IOS系統的物理滾動的效果(即橡皮筋效果)
ListView 是最常用的可滾動組件之一,可以沿一個方向線性排布所有子組件,并且它也支持基于Sliver的延遲構建模型
默認構造函數:
ListView.builder:
ListView.separated:
ListView.separated 可以在生成的列表項之間添加一個分割組件,它比 ListView.builder 多了一個 separatorBuilder 參數,該參數是一個分割組件生成器。
RefreshIndicator 下拉刷新:
RefreshIndicator 是 Material 風格的下拉刷新組件。
CupertinoSliverRefreshControl 下拉刷新:
CupertinoSliverRefreshControl 是 ios 風格的下拉刷新控件。
上拉加載的功能,需要用到 ScrollController + ListView組件:
當前標題:flutter下拉背景,flutter appbar 透明
文章出自:http://m.kartarina.com/article20/dsijdjo.html
成都網站建設公司_創新互聯,為您提供網站制作、外貿網站建設、域名注冊、微信公眾號、App設計、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯