创建一个由3个容器组成的独立ListView可以通过以下步骤来实现,以避免无限高度断言:
以下是一个示例代码,演示如何创建一个由3个容器组成的独立ListView:
import 'package:flutter/material.dart';
importimport 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
class ContainerListView extends StatefulWidget {
@override
_ContainerListViewState createState() => _ContainerListViewState();
}
class _ContainerListViewState extends State<ContainerListView> {
List<String> dataList = ['Left', 'Middle', 'Right'];
@override
Widget build(BuildContext context) {
return StaggeredGridView.countBuilder(
crossAxisCount: 1,
itemCount: 3,
itemBuilder: (BuildContext context, int index) {
return Container(
child: Center(
child: Text(dataList[index]),
),
);
},
staggeredTileBuilder: (int index) => StaggeredTile.fit(1),
);
}
}
void main() {
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Container ListView'),
),
body: ContainerListView(),
),
));
}
在这个示例中,我们创建了一个ContainerListView类作为ListView的容器,并在build方法中使用StaggeredGridView.countBuilder构造函数来创建一个独立的ListView。每个项都是一个Container组件,根据索引值选择相应的容器进行构建。最后,将ContainerListView组件添加到主页面中进行显示。
请注意,这只是一个示例代码,实际应用中可能需要根据具体需求进行适当的修改和调整。
领取专属 10元无门槛券
手把手带您无忧上云