我有一个使用shrinkWrap
的ListView.builder
,因为如果我不使用它,就会收到错误。
this answer的结果是,ListView.builder
上面会有很多空白:
我怎样才能去掉它?
我的代码:
SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Summary",
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
const SizedBox(height: 20.0),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
…
],
),
ListView.builder(
shrinkWrap: true,
cacheExtent: 9999,
itemCount: list.length,
itemBuilder: (context, index) => ListTile(…),
),
],
),
),
如果您需要更多信息,请随时发表评论。
如何更改使用shrinkWrap
的ListView.builder
的位置?
2条答案
按热度按时间nnsrf1az1#
我不知道“**
ListView.builder
上方的空格I *”或“如何更改使用shrinkWrap
的ListView.builder
的位置?”是什么意思考虑所有情况的可能解决方案:
1.
ListView
之外,那是因为它被 Package 在Center
中,这是显而易见的。ListView
内的上边距,则是因为margin: EdgeInsets.all(32),
这一行1.你只需要删除
Center
小部件,它会改变它的位置到应用程序的开始。额外的:你可以通过添加
padding:EdgeInsets.zero
来删除ListView.builder
的默认padding
,如果这是你所说的。注意:你不需要每次都使用
shrinkWrap:true
,只有当你的listView
在另一个Scrollable
视图中时,你才需要使用它。否则,你需要使用默认的false
选项参考docs:
收缩滚动视图的内容比扩展到最大允许大小要昂贵得多,因为内容在滚动期间可以扩展和收缩,这意味着每当滚动位置改变时都需要重新计算滚动视图的大小。
oalqel3c2#
您应该使用
Column
,而不是ListView.builder
: