SingleChildScrollView,Column作为子项vs ListView

时间:2020-02-12 07:58:48

标签: flutter flutter-layout

两者之间是否有性能差异?哪一个更惯用?还是什么时候应该使用哪个?

SingleChildScrollViewColumn一起使用的一个好处是ColumnmainAxisAlignment等的属性。)

更新:

我确实了解Listview.builder。当我要呈现不短的列表时,可以使用它。问题仅在于使用ListView还是SingleChildScrollView,因为并非所有内容都适合当前屏幕,因此需要可滚动。

3 个答案:

答案 0 :(得分:1)

如果是Column,您将错过以下内容

ListView.builder构造函数采用IndexedWidgetBuilder,该控件可按需构建子级。此构造函数适用于具有大量(或无限多个)子级的列表视图,因为仅针对那些实际可见的子级调用该构建器。

更多信息,请访问https://api.flutter.dev/flutter/widgets/ListView-class.html

答案 1 :(得分:1)

我以前遇到过这种情况,我个人更喜欢具有build函数的ListView,如果要构建大量子项,则不是这样,并且您有固定数量的子项SingleChildScrollView将非常方便,特别是如果它嵌套在其他Scrollable中小部件。

如果性能是问题,那么ListView构建器函数仍然是最佳选择,因为它懒惰地构建其子窗口小部件。

答案 2 :(得分:0)

我想说的是,当您希望列表/内容在屏幕尺寸较小或内容溢出时可滚动时,请使用SingleChildScrollView。否则,请使用ListView / ListView.builder

默认情况下,SingleChildScrollView是不可滚动的,但是可以通过设置physics: AlwaysScrollableScrollPhysics()来强制它。