在实际的iOS开发中最常用的视图莫过于UITableView, 按照这种思维,我先学习的组件就是 ListView
先介绍下 ListView的常用参数
101582095436_.pic_hd.jpg
children: 一个元素类型为Widget的数组
padding: 内边距
scrollDirection: 滚动方向
class Demo extends StatefulWidget {
Demo({Key key}) : super(key: key);
@override
_DemoState createState() => _DemoState();
}
class _DemoState extends State<Demo> {
@override
Widget build(BuildContext context) {
return Container(
child: ListView(
children: <Widget>[
ListTile(
title: Text('我是一个文本'),
),
ListTile(
title: Text('我是一个文本'),
),
ListTile(
title: Text('我是一个文本'),
),
ListTile(
title: Text('我是一个文本'),
),
],
),
);
}
}
ListTile是ListView中的元素, 相当于(系统的UITableViewCell)
实际开发时 我们大部分时候需要使用自定义的cell
在Flutter里 只要定义好这个返回值为<Widget>的数组就可以了
column
column是列
111582165993_.pic_hd.jpg
可以看到column的核心也是List<Widget>
二者区别
1):ListView的宽度默认是铺满整个父视图的,column的宽度则取决于内部Widget元素的宽度
2):ListView没有高度限制 可以滚动, column不可以滚动, 一旦内部超出限制就会报错
3):如果有输入框,当获取焦点的视乎 ListView会自动滚动到相应位置
网友评论