Flutter Column组件出现意外空白间距,如何定位并消除?
解决Flutter中Column内Text与ListView之间的意外空白间距
问题出在ListView组件的默认内边距上,它默认会给顶部和底部各添加一段padding,这就是你看到Text和ListView之间空白的来源,和外层的Container/SizedBox无关。
你可以通过以下两种方式消除这个空白:
直接移除ListView的所有默认内边距:
在ListView.builder里添加padding: EdgeInsets.zero参数仅移除顶部内边距(如果需要保留底部内边距):
使用padding: EdgeInsets.only(top: 0)
修改后的代码示例:
Column( children: [ Text("test"), Container( height: 200, child: ListView.builder( shrinkWrap: true, padding: EdgeInsets.zero, // 关键:移除默认内边距 itemCount: answers.length, itemBuilder: (BuildContext context, int index) { return Text(answers[index]); } ), ) ], );
你也可以通过Flutter Inspector选中ListView,查看它的padding属性,就能确认这个默认值的存在。
内容的提问来源于stack exchange,提问作者dusk
相关产品推荐
相关产品推荐

