Flutter基础(ListView.builder)
ListView.builder
最基本的形式需要两个参数:
itemCount
:列表项的总数。itemBuilder
:一个回调函数,用于构建每个列表项。
ListView.builder(itemCount: 10, // 列表项总数(这里是10个)itemBuilder: (context, index) {// 返回一个Widget作为列表项return ListTile(title: Text('项目 $index'),subtitle: Text('这是第 $index 个项目'),);},
)
参数详解
参数 | 说明 |
---|---|
itemCount | 列表项的总数。如果为 null ,则列表会无限滚动(需在 builder 中自行控制边界)。 |
itemBuilder | 回调函数,接收 context 和 index ,返回一个 Widget。 |
scrollDirection | 滚动方向(Axis.vertical 或 Axis.horizontal )。 |
reverse | 是否反向滚动(默认为 false )。 |
shrinkWrap | 是否根据内容自动调整列表大小(适用于列表嵌套在其他滚动组件中)。 |
padding | 列表的内边距。 |
假设你有一个用户列表,需要展示姓名和年龄:
class User {final String name;final int age;User(this.name, this.age);
}// 模拟数据
final List<User> users = [User('张三', 25),User('李四', 30),User('王五', 22),
];// 在 build 方法中使用 ListView.builder
ListView.builder(itemCount: users.length,itemBuilder: (context, index) {final user = users[index];return ListTile(leading: CircleAvatar(child: Text(user.name[0])),title: Text(user.name),subtitle: Text('年龄: ${user.age}'),trailing: Icon(Icons.arrow_forward_ios),onTap: () {// 点击事件处理print('点击了 ${user.name}');},);},
)
123