Flutter CustomScrollView

今天跟大家介紹一下CustomScrollView 可定義自動(dòng)滾動(dòng)的效果?CustomScrollView,這個(gè)用處還是比較大的,18年Google ?推出flutter iOS 安卓 19 flutter支持web,看到這趨勢(shì),身為開(kāi)發(fā)者要順應(yīng)潮流,但不要盲目,?CustomScrollView?提供了基本控件如列表,網(wǎng)格,擴(kuò)大頭等。接下來(lái)介紹一下這幾個(gè)控件SliverAppBarSliverListSliverGrid?SliverPadding ?SliverToBoxAdapter?SliverPersistentHeader,?SliverFillRemaining,SliverFillViewport

一,sliverAppBar

1.這個(gè)空間跟導(dǎo)航條很像看圖


2基本用法


二?SliverList?

1這個(gè)是設(shè)置列表的,跟iOS tableview 很像

2.這個(gè)方法有一個(gè)代理,這個(gè)代理有兩種方式

SliverChildListDelegate 這種方式前提是知道cell個(gè)數(shù),比較少,好搭建

SliverChildBuilderDelegate 這種方式,可以根據(jù)數(shù)組去創(chuàng)建,不知道cell個(gè)數(shù)

3.圖一是介紹SliverChildListDelegate ? ?圖二是介紹SliverChildBuilderDelegate


效果圖

三?SliverGrid 這種跟瀑布流差不多

1.有兩個(gè)代理,第一個(gè)是管理幾行呢,第二個(gè)是管理有多少個(gè),跟內(nèi)容的

2效果圖


四?SliverPadding?

1.這個(gè)控件就是設(shè)置padding的

2.子控件必須是sliver類型



五SliverToBoxAdapter

1.這個(gè)是設(shè)置普通的控件,例如區(qū)頭等 這個(gè)位置是不固定的隨意的,


六?SliverPersistentHeader

1.設(shè)置頭部的,任意位置,比如頭部搜索框 等,

2?floating 控制展開(kāi)的,pinned控制隱藏和展示的

3.重寫delegate 代碼如下


4效果圖

七,SliverFillRemaining

1.這個(gè)一般負(fù)責(zé)最厚填充用的


八,SliverFillViewport

1.如果一個(gè)滑動(dòng)列表,每個(gè)item需要占滿一個(gè)屏幕或者更大,可以使用該部件生成列表,但是如果item的高度小于一個(gè)屏幕高度,那就不太推薦了,在首尾會(huì)用空白item來(lái)把未填滿的補(bǔ)上,就是首尾都會(huì)留空白。我們使用SliverFillViewport對(duì)SliverFillRemaning進(jìn)行替換

2 代碼

SliverFillViewport(

viewportFraction:1.0,

? ? delegate:SliverChildBuilderDelegate(

(_, index) =>Container(child:Text('Item $index'), alignment: Alignment.center, color:Colors.indigoAccent),

? ? ? ? childCount:10)),

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容