搜索引擎優(yōu)化與推廣的產(chǎn)生及發(fā)展/濰坊seo計(jì)費(fèi)
文章目錄
- 1 概念介紹
- 2 使用方法
- 3 示例代碼
我們?cè)谏弦徽禄刂薪榻B了沉浸式狀態(tài)欄相關(guān)的內(nèi)容,本章回中將介紹SliverList組件.閑話休提,讓我們一起Talk Flutter吧。
1 概念介紹
我們?cè)谶@里介紹的SliverList組件是一種列表類組件,類似我們之前介紹過的ListView組件,它們的不同之處在于SliverList可以被當(dāng)作一個(gè)整體來滑動(dòng)。我們將
在本章回中詳細(xì)介紹SliverList的使用方法。
2 使用方法
和其它組件一樣,SliverList組件提供了相關(guān)的屬性來控制自己,不過它的屬性只有兩個(gè),一個(gè)是常用的key屬性,另外一個(gè)是delegate屬性,我們重點(diǎn)介紹delegate
屬性。該屬性是SliverChildDelegate類型,不過這個(gè)類是一個(gè)抽象類,無法創(chuàng)建對(duì)象,它有兩個(gè)實(shí)現(xiàn)類,詳細(xì)如下:
- SliverChildBuilderDelegatet
該類兩個(gè)常用屬性builder和childCount。builder屬性用來創(chuàng)建列表中的具體內(nèi)容,它是一個(gè)方法類型,通過方法方法返回一個(gè)組件,方法的原型為
Widget? Function(BuildContext context, int index);其中childCount屬性用來控制列表中列表項(xiàng)的具體數(shù)量,這個(gè)值可空,不過一定要給它賦值,否則
無法生成列表,也無法顯示頁面,但是不會(huì)有編譯和運(yùn)行錯(cuò)誤,按照源代碼中的注釋來看是有內(nèi)存泄漏。我覺得這個(gè)值設(shè)置為可空不合理,大家也可以發(fā)表自己的看法。 - SliverChildListDelegate.
該類有一個(gè)常用屬性:children,它的類型為L(zhǎng)ist,它和Column組件的childrnen屬性完全相同,因此大家可以參考Column組件的用法來使用它。
3 示例代碼
介紹完SliverList的使用方法后,我們通過具體的示例代碼來演示。
///創(chuàng)建delegate對(duì)象,使用builder方法。SliverList(delegate: SliverChildBuilderDelegate((context,index){return Container(height: 60,alignment: Alignment.center,child: Text('This is ${index+1} item'),);},///list中包含內(nèi)容的數(shù)量childCount:5,),),///與上面的SliverList類似,只是不有創(chuàng)建delegate對(duì)象,而是直接使用現(xiàn)成的list對(duì)象SliverList(delegate: SliverChildListDelegate(List.generate(5, (index) => const Icon(Icons.add),),) ,),
上面的示例代碼中演示了兩種給delegate屬性賦值的方法,第一種創(chuàng)建的是Text組件,第二種使用了已經(jīng)有List,只不過List中的內(nèi)容是Icon組件。依據(jù)目前的知識(shí)
我們還不能演示程序的運(yùn)行結(jié)果,因?yàn)檫€需要其它組件配合才可以運(yùn)行,大家不用擔(dān)心,目前只需要熟練掌握如何創(chuàng)建SliverList組件就可以了,我們?cè)诤竺嬲禄刂袝?huì)
使用本章回創(chuàng)建的組件給大家演示程序運(yùn)行效果。
看官們,與"SliverList組件"相關(guān)的內(nèi)容就介紹到這里,歡迎大家在評(píng)論區(qū)交流與討論!