今天跟大家介紹一下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è)控件SliverAppBar,SliverList和SliverGrid?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)),