flutter 我应该使用哪个,ListView.builder还是Column?[已关闭]

hec6srdp  于 2023-01-31  发布在  Flutter
关注(0)|答案(2)|浏览(197)

已关闭。此问题为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())

所以,我的问题是,我应该使用哪种代码?
如果您需要更多信息,请随时发表评论。

x6492ojm

x6492ojm1#

ListView.builder在您有大量可以动态更改的项目时非常有用,因为它只构建当前可见的children。它还允许您轻松滚动项目列表。
另一方面,Column是一个布局小部件,它垂直排列children,当你有少量的children要垂直堆叠,并且children的高度已知时,它很有用。
以下是一些指导原则,可帮助您做出决定:

  • 如果您有大量可以动态更改的项,并且希望允许用户滚动这些项,请使用ListView.builder
  • 如果要垂直堆叠的项目数量较少,并且children的高度已知,请使用Column
  • 如果你想建立一个有固定数量children的项目列表,并且你想垂直堆叠它们,你可以使用ColumnListView作为子项,也可以同时使用ListView.builderColumn,这取决于需求。

最好对两种方法都进行试验,并确定哪一种最适合您的特定布局和用例。

lmyy7pcs

lmyy7pcs2#

根据需要使用碱基。
简短回答:
当你有一个很长的列表时使用ListView.builderListView.builder构造函数在项目滚动到屏幕上时创建项目。对于ListView,它需要交叉轴收缩 Package 行为。这意味着,子宽度等于屏幕大小宽度。
您可以阅读此文档:https://docs.flutter.dev/cookbook/lists/long-lists
当然他们是不同的。Column不支持滚动功能。那么你需要 Package 与SingleChildScrollView,但也有一些利弊。
此外,我推荐我的文章在这里,我解释更多关于它:https://medium.com/easyread/my-october-flutter-notes-2-6e0c78cf2e56

相关问题