我是Flutter的新手,目前正在创建ExpansionPanelList。我正在尝试将ExpansionPanel旁边的图标从胡萝卜(^)替换为下拉图标。另外,当ExpansionPanel展开时,我希望下拉箭头向上旋转。但是,我不确定该怎么做。
下面是我初始化ExpansionPanelList的方法。我试图解决此问题,以初始化要在ListTitle中使用的箭头(在其中初始化标题)。但是,该图标显示在ExpansionPanel使用的胡萝卜图标旁边。
我对Flutter非常陌生(通常是Stack Overflow的新手),因此对保留的解释将不胜感激。
ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
setState(() {
_data[index].isExpanded = !isExpanded;
});
},
children: _data.map<ExpansionPanel>((Item item) {
// I believe this is where we want to edit the arrow.
return ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
title: Text("yoink"), //Text(item.headerValue),
trailing: Icon(Icons.arrow_drop_down), //solid arrow
);
},
body: ListTile(
title: Text(item.expandedValue),
subtitle: Text(
'To delete this panel, tap the trash can icon'),
trailing: Icon(Icons.delete),
onTap: () {
setState(() {
_data.removeWhere(
(currentItem) => item == currentItem);
});
}),
isExpanded: item.isExpanded,
);
}).toList(),
),
对于我的输出,我希望每个ExpansionPanel左侧的箭头显示+响应面板的展开/展开。我不想看到右边的箭头。
答案 0 :(得分:0)
答案是改为实现ListView。 ExpansionPanels类似于带有ExpansionTiles的ListViews,但是它们更加严格,您不能像ExpansionTiles那样定制ExpansionPanels,后者只能在ListView中使用。