两者之间是否有性能差异?哪一个更惯用?还是什么时候应该使用哪个?
将SingleChildScrollView
与Column
一起使用的一个好处是Column
(mainAxisAlignment
等的属性。)
更新:
我确实了解Listview.builder
。当我要呈现不短的列表时,可以使用它。问题仅在于使用ListView
还是SingleChildScrollView
,因为并非所有内容都适合当前屏幕,因此需要可滚动。
答案 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()
来强制它。