Flutter學(xué)習(xí)基礎(chǔ)組件之ListView

ListView相當(dāng)于UITableView/UIScrollView,常用屬性:

padding: EdgeInsets.all(20),//設(shè)置內(nèi)邊距上下左右都是20pt
children:<Widget>[],//一個(gè)數(shù)組,里面是Widget,可以理解為cell
scrollDirection:Axis.horizontal,//滾動(dòng)方向,這里是水平滾動(dòng),:Axis.vertical為默認(rèn)值,垂直滾動(dòng)。

ListTile是flutter封裝好的cell組件,常用屬性:

leading: Icon(Icons.home,size: 40,),//左側(cè)的圖片,可以是Image
title: Text('標(biāo)題'),//標(biāo)題
subtitle: Text('副標(biāo)題'),//副標(biāo)題
trailing: Icon(Icons.send),//右側(cè)圖片

基本用法:

class TWListView extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    return ListView(
      padding: EdgeInsets.all(20),
      children: <Widget>[
        ListTile(leading: Icon(Icons.home,size: 40,),title: Text('標(biāo)題'), subtitle: Text('副標(biāo)題'),trailing: Icon(Icons.send),),//也能放Image
        ListTile(leading: Icon(Icons.home,size: 40,),title: Text('標(biāo)題'), subtitle: Text('副標(biāo)題'),trailing: Icon(Icons.send),),
        ListTile(leading: Icon(Icons.home,size: 40,),title: Text('標(biāo)題'), subtitle: Text('副標(biāo)題'),trailing: Icon(Icons.send),),
        ListTile(leading: Icon(Icons.home,size: 40,),title: Text('標(biāo)題'), subtitle: Text('副標(biāo)題'),trailing: Icon(Icons.send),),
        ListTile(leading: Icon(Icons.home,size: 40,),title: Text('標(biāo)題'), subtitle: Text('副標(biāo)題'),trailing: Icon(Icons.send),),
        ListTile(leading: Icon(Icons.home,size: 40,),title: Text('標(biāo)題'), subtitle: Text('副標(biāo)題'),trailing: Icon(Icons.send),),
        ListTile(leading: Icon(Icons.home,size: 40,),title: Text('標(biāo)題'), subtitle: Text('副標(biāo)題'),trailing: Icon(Icons.send),),
      ],
    );
  }
}
動(dòng)態(tài)列表:

可以用Container來(lái)約束ListView的寬高
itemCount: _dataList.length,//數(shù)組元素的個(gè)數(shù)
itemBuilder: //IndexedWidgetBuilder類(lèi)型,此類(lèi)型是一個(gè)返回值是Widget,帶2個(gè)參數(shù)的方法,里面返回ListTile,會(huì)自動(dòng)循環(huán)生成cell,index從0到itemCount-1

class HomeContent extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    List _dataList = [
      '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題', '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題', '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題',
      '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題', '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題', '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題',
      '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題', '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題', '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題',
      '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題', '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題', '標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題標(biāo)題',
    ];
    return Container(
      width: 300,height: 600,
      color: Colors.red,
      child: ListView.builder(
          itemCount: _dataList.length,
          itemBuilder: (context,index){
            return ListTile(title: Text(_dataList[index]+index.toString()),);
          }
      ),
    );
  }
}
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第1步:創(chuàng)建初始Flutter應(yīng)用 創(chuàng)建一個(gè)簡(jiǎn)單的 Flutter 應(yīng)用。主要編輯 Dart 代碼所在的 lib ...
    小白_Sing閱讀 1,074評(píng)論 0 0
  • 前言 demo地址 由于我電腦一直沒(méi)搞好as,(主要是Android sdk的問(wèn)題),所以用的vs開(kāi)發(fā)學(xué)習(xí),而且v...
    錦鯉躍龍閱讀 4,971評(píng)論 0 12
  • Flutter-ListView的使用說(shuō)明 1、ListView定義中的常用屬性 2、ListView的簡(jiǎn)單使用方...
    嗨噠哥閱讀 1,864評(píng)論 0 0
  • 想一個(gè)人的日子不好過(guò)。為什么愿意那么親近她呢?原本與你毫無(wú)關(guān)系的人!人,這是一種怎樣情愫,會(huì)使一個(gè)人對(duì)另外一個(gè)人如...
    留柯閱讀 144評(píng)論 0 0
  • 徂徠山前的金銀花 在冬季里脫去綠衣和肌肉 將白骨裸露 突兀嶙峋的筋骨抽打著忽強(qiáng)忽弱的風(fēng) 根基和軀體不知經(jīng)歷了多少個(gè)...
    泰安左眼皮跳跳閱讀 154評(píng)論 0 7

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