已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。
昨天关门了。
Improve this question
我们可以使用ListView.builder
来创建列表,但是,我发现了使用Column
的另一种方法。
下面是两个示例代码:
ListView.builder
List list = ["A", "B", "C"];
…
ListView.builder(
itemCount: list.length,
itemBuilder: (context, index) => Text(list[index]),
),
Column
List list = ["A", "B", "C"];
…
Column(children: list.map((element) => Text(element)).toList())
所以,我的问题是,我应该使用哪种代码?
如果您需要更多信息,请随时发表评论。
2条答案
按热度按时间x6492ojm1#
ListView.builder
在您有大量可以动态更改的项目时非常有用,因为它只构建当前可见的children
。它还允许您轻松滚动项目列表。另一方面,
Column
是一个布局小部件,它垂直排列children
,当你有少量的children
要垂直堆叠,并且children
的高度已知时,它很有用。以下是一些指导原则,可帮助您做出决定:
ListView.builder
。children
的高度已知,请使用Column
。children
的项目列表,并且你想垂直堆叠它们,你可以使用Column
和ListView
作为子项,也可以同时使用ListView.builder
和Column
,这取决于需求。最好对两种方法都进行试验,并确定哪一种最适合您的特定布局和用例。
lmyy7pcs2#
根据需要使用碱基。
简短回答:
当你有一个很长的列表时使用
ListView.builder
。ListView.builder
构造函数在项目滚动到屏幕上时创建项目。对于ListView
,它需要交叉轴收缩 Package 行为。这意味着,子宽度等于屏幕大小宽度。您可以阅读此文档:https://docs.flutter.dev/cookbook/lists/long-lists
当然他们是不同的。
Column
不支持滚动功能。那么你需要 Package 与SingleChildScrollView
,但也有一些利弊。此外,我推荐我的文章在这里,我解释更多关于它:https://medium.com/easyread/my-october-flutter-notes-2-6e0c78cf2e56