在 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 {
@override