下面是我的代码,我想添加一些额外的高度50,该空间位于列表项的末尾。因为当我的第二个堆叠子出现时,它几乎与列表 View 的最后一项重叠。我试图用列包装ListView.builder并最后添加了一个容器,但破坏了我的整个结构。在这种情况下,我必须将列包装为Single可滚动,将Stack 2nd小部件推到ListItem的末尾(但是我不希望Stack 2nd对象是可滚动的)。
如您所见,我无法单击HotDog。
body: Stack(
children: <Widget>[
ListView.builder(
itemCount: itemData.length,
shrinkWrap: true,
scrollDirection: Axis.vertical,
itemBuilder: (BuildContext context,int index){
return Text(data[index].name);
}
),
Padding(
padding: const EdgeInsets.all(10.0),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
color: Colors.cyan
),
padding: EdgeInsets.all(10),
height: 60,
),
)
],
),
最佳答案
ListViewBuilder
应该包装在Expanded小部件内,它将全屏显示
并根据需要指定容器的底部宽度。
示例:
var itemData = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
Stack(
children: <Widget>[
Column(
children: <Widget>[
Expanded(
child: Container(
margin: EdgeInsets.only(bottom: 20),
child: ListView.builder(
itemCount: itemData.length,
shrinkWrap: true,
scrollDirection: Axis.vertical,
itemBuilder: (BuildContext context, int index) {
return Container(
height: 80,
child: Text("Text :" + index.toString()));
}),
),
),
Align(
alignment: Alignment.bottomCenter,
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
color: Colors.cyan),
padding: EdgeInsets.all(10),
height: 60,
),
),
)
],
),
],
),
输出:
关于flutter - 在ListView.builder的末尾提供一些额外的空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62338175/