Flutter ListView(UITableView),及c

2020-02-19  本文已影响0人  love断鸿

在实际的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会自动滚动到相应位置

上一篇下一篇

猜你喜欢

热点阅读