我正在尝试构建小部件的水平滑块(ListView),并想在 ListView 的末尾添加一个按钮(以便您可以添加另一张卡)。到目前为止,如果我尝试通过从中提取以生成 ListView.builder 的小部件列表来添加它,它不允许我,因为该小部件与我指定要关闭的列表的小部件不同。
我不知道如何以另一种方式将其添加到列表末尾。我已经能够将它放在列表旁边,但这会占用不应该占用的屏幕空间,因为所需的效果应该是它添加在 ListView 的末尾,而不是旁边。
这是代码:
Column(
children: <Widget>[
Expanded(
flex: 20,
child: Column(
children: <Widget>[
Padding(
padding:
const EdgeInsets.only(left: 20, top: 10, bottom: 10),
child: Align(
alignment: Alignment.topLeft,
child: Text(
'Buildings',
style: TextStyle(
color: Colors.white,
fontSize: 30,
fontFamily: 'Montserrat',
fontWeight: FontWeight.w300),
),
),
),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20),
child: SearchBar(),
),
),
],
),
),
Expanded(
flex: 30,
child: Row(
children: <Widget>[
Expanded(
child: Consumer<BuildingData>(
builder: (context, buildingData, child) {
return ListView.builder(
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) {
final building = buildingData.buildingInputs[index];
return BuildingCard(
buildingName: building.buildingName,
);
},
itemCount: buildingData.buildingCount,
);
},
),
),
AddBuildingButton(
onPressed: () {
print('success');
},
),
],
),
),
Expanded(
flex: 50,
child: Container(
padding: EdgeInsets.only(top: 30, left: 30, right: 30),
decoration: BoxDecoration(
color: Color(0xff2e3032),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(50),
topRight: Radius.circular(50),
),
),
),
)
],
),