flutter - 如何在颤动的ExpansionPanels之间添加空格?
问题描述
我有一个ExpansionPanelList,我想在未展开时在展开图块之间创建一个间隙而不是分隔线。只有一个选项可以向ExpansionPanelList 添加高程而不是边距。我尝试添加填充,甚至是一个大小的框但是它不会工作。请帮帮我。
我的代码:
import 'package:flutter/material.dart';
class AccordionItem {
AccordionItem({
required this.content,
required this.header,
this.isExpanded = false,
});
Widget content;
String header;
bool isExpanded;
}
class Accordion extends StatefulWidget {
List<AccordionItem> accordianItemsList;
Accordion({required this.accordianItemsList});
@override
_AccordionState createState() => _AccordionState();
}
class _AccordionState extends State<Accordion> {
int expandedPanelIndex=0;
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
child: _buildPanel(),
),
),
);
}
Widget _buildPanel() {
return ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
widget.accordianItemsList[expandedPanelIndex].isExpanded = false;
setState(() {
widget.accordianItemsList[index].isExpanded = !isExpanded;
expandedPanelIndex=index;
});
},
children: widget.accordianItemsList.map<ExpansionPanel>((AccordionItem item) {
return ExpansionPanel(
backgroundColor: Colors.green,
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
title: Text(item.header,style: Theme.of(context).textTheme.headline3!.copyWith(color: Colors.black),),
);
},
body: ListTile(
title: item.content,
),
isExpanded: item.isExpanded,
);
}).toList(),
);
}
}
解决方案
推荐阅读
- javascript - React Native - 具有并行平移和缩放的动画
- netsuite - 已保存搜索以提取日期发票已全额支付
- r - 循环以识别 Dataframe 中的数据位置,并填充到新的 Dataframe (R)
- ruby - Ruby 套接字在第二次读取时不返回数据
- python - 在 conda/pip 中安装单个文件包需要多余的 import 语句
- indexing - 可以通过从 DataFlow 管道运行的 DatastoreV1 接口创建具有复合索引的 Google 数据存储实体吗?
- php - 如何在相应的输入下显示输入验证错误?
- javascript - 为什么 [] == ![] 在 JavaScript 中为真?
- python - 从 QTreeView 中的选择中获取完整的索引名称
- python - 使用 Python 将大型压缩 JSON 文件从 Amazon S3 导入 AWS RDS-PostgreSQL