在 Flutter 中,ListView 可以沿一个方向(垂直或水平方向)来排列其所有子 Widget,常被用于需要展示一组连续视图元素的场景
ListView 构造方法
- ListView:仅适用于列表中含有少量元素的场景
- ListView.build:适用于子 Widget 比较多的场景
- ListView.separated:适用于需要设置分割线的场景
构造方法名 | 特点 | 使用场景 |
---|---|---|
ListView | 一次性创建好所有子 Widget | 适用于展示少量连续子 Widget 的场景 |
ListView.build | 提供了子 Widget 创建方法,仅在需要展示时才创建 | 适用于子 Widget 较多,且视觉效果呈现某种规律性的场景 |
ListView.separated | 提供了子 Widget 创建方法,仅在需要展示时才创建,且提供了自定义分割线的功能 | 适用于子 Widget 较多,且视觉效果呈现某种规律性、每个子 Widget 之间需要分割线的场景 |
ListView
可以通过设置 children 参数,将所有子 Widget 包含到 listView 中,但这种创建方法要求提前将所有子 Widget 一次性创建好,而不是等到真正需要在屏幕上显示时才创建,即这种方法是导致性能下降。因此,这种方式只适合列表中含有少量元素的场景
class List extends StatelessWidget {
@overr