概述

ListView 是 Flutter 中常用的一个组件,用来在移动应用中展示列表数据。它可以在垂直或水平方向上滚动,并支持无限滚动和懒加载等功能。

基本用法

ListView(
  children: <Widget>[
    ListTile(
      title: Text('Item 1'),
    ),
    ListTile(
      title: Text('Item 2'),
    ),
    ListTile(
      title: Text('Item 3'),
    ),
  ],
)

分割线

ListView.separated(
  itemCount: 3,
  separatorBuilder: (context, index) {
    return Divider();
  },
  itemBuilder: (context, index) {
    return ListTile(
      title: Text('Item $index'),
    );
  },
)

懒加载

ListView.builder(
  itemCount: 100,
  itemBuilder: (context, index) {
     if (index == _data.length -1) {
        _fetchData(); // 加载更多数据
     }
     return ListTile(
       title: Text('Item $index'),
     );
   },
)

水平列表

ListView.builder(
 scrollDirection: Axis.horizontal,
 itemCount: _data.length,
 itemBuilder: (context, index) {
   return Card(
     child : Text('Item $index'),
   );
 },
)

自定义样式

可以通过自定义 ListTile 来实现不同风格的列表项,也可以使用 Sliver 系列组件来实现更加灵活的布局。

以上是 ListView 的基本用法和一些常见的应用场景,开发者可以根据具体需求进一步定制和优化列表展示效果。