ListView(滚动列表)
在主轴方向可以滚动,在交叉轴方向填满
构建方式:ListView(), ListView.builder(), ListView.separated(), ListView.custom()
ListView() 例:
ListView(
shrinkWrap: true,
children: <Widget>[
Text('List1'),
ListTile(
leading: Icon(Icons.sort),
title: Text('List2'),
trailing: Icon(Icons.arrow_forward_ios),
)
],
),
ListView.builder() 例:
ListView.builder(
scrollDirection: Axis.vertical,
itemCount: 20,
itemExtent: 50.0,
itemBuilder: (BuildContext context, int index){
return ListTile(
title: Text('List$index'),
leading: Icon(Icons.label),
subtitle: Text('副标题'),
trailing: Icon(Icons.arrow_forward_ios),
isThreeLine: true, //是否三行显示
dense: true,
contentPadding: EdgeInsets.all(10.0), //内容内边距
enabled: true,
onTap: (){}, //点击
onLongPress: (){}, //长按
selected: false,
);
}),
ListView.separated() 例:
ListView.separated(
scrollDirection: Axis.vertical,
itemCount: 20,
separatorBuilder: (BuildContext context, int index) {
return Divider(
height: 1.0,
color: Colors.black,
);
},
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('List$index'),
leading: Icon(Icons.label),
subtitle: Text('副标题'),
trailing: Icon(Icons.arrow_forw