动态列表:
1. 通过循环语句实现
2. 通过ListView.builder实现
## 循环语句
~~~
class HomeContent extends StatelessWidget{
//自定义方法
List<Widget> _getData(){
List<Widget> list = new List();
for(var i=0; i< 20; i++){
list.add(ListTile(title: Text('我是$i列表哈'),));
}
return list;
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return ListView(
children: _getData()
);
}
}
~~~
注意:toList(), ["title"]可访问,.不能访问
~~~
class HomeContent extends StatelessWidget{
//自定义方法
List<Widget> _getData(){
var tempList = listData.map((value){
return ListTile(
title: Text(value["title"]),
leading: Image.network(value["imageUrl"]),
subtitle: Text(value["author"]),
);
});
return tempList.toList();
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return ListView(
children: _getData()
);
}
}
~~~
## ListView.builder(推荐)
~~~
class HomeContent extends StatelessWidget{
List list = new List();
HomeContent(){
for(var i=0; i<20; i++){
list.add(
ListTile(
title:Text("我是$i列表")
)
);
}
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return ListView.builder(
//长度
itemCount: this.list.length,
// context上下文,index索引
//根据长度遍历数据
itemBuilder: (context,index){
return this.list[index];
},
);
}
}
~~~
~~~
List list = new List();
HomeContent(){
for(var i=0; i<listData.length; i++){
list.add(
ListTile(
title:Text(listData[i]["title"]),
leading: Image.network(listData[i]["imageUrl"]),
subtitle: Text(listData[i]["author"]),
// title: Text("xxx")
)
);
}
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return ListView.builder(
//长度
itemCount: this.list.length,
// context上下文,index索引
//根据长度遍历数据
itemBuilder: (context,index){
return this.list[index];
},
);
}
}
~~~
~~~
Widget _getListData(context, index){
return ListTile(
title: Text(listData[index]["title"])
);
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return ListView.builder(
//长度
itemCount: listData.length,
// context上下文,index索引
//根据长度遍历数据
itemBuilder: this._getListData,
);
}
}
~~~
- 空白目录
- Flutter入门
- 课程简介
- 开发环境搭建
- 常用组件讲解
- 案例实战
- Dart编程语言入门
- 介绍和开发准备
- 数据类型
- 运算符
- 控制流语句
- 方法
- 面向对象1
- 面向对象2
- 枚举&类型
- Flutter中文网
- Widget框架总览
- 在Flutter中构建布局
- Flutter for Web开发者
- Flutter入门实战
- flutter介绍
- Flutter目录结构,各种组件
- Container、Text
- 图片组件Image
- ListView
- 动态组件
- GridView组件
- 页面布局Padding,Row,Column,Expanded,Icon
- Stack层叠组件,Align,Positioned
- AspectRatio,Cart
- wrap组件
- 组件汇总
