如何更改ExpansionPanelList中的箭头图标

时间:2020-10-10 16:37:06

标签: flutter dart

我是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(),
                  ),

Output

对于我的输出,我希望每个ExpansionPanel左侧的箭头显示+响应面板的展开/展开。我不想看到右边的箭头。

1 个答案:

答案 0 :(得分:0)

答案是改为实现ListView。 ExpansionPanels类似于带有ExpansionTiles的ListViews,但是它们更加严格,您不能像ExpansionTiles那样定制ExpansionPanels,后者只能在ListView中使用。