#flutter #dart
#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(),
),
Для моего вывода я бы хотел, чтобы стрелка слева от каждой ExpansionPanel показывала реагировать на расширение / расширение панели. Я не хочу видеть стрелку справа.
Ответ №1:
Ответ заключался в том, чтобы вместо этого создать реализацию ListView. ExpansionPanels похожи на ListViews с ExpansionTiles, однако они более строгие, и вы не можете настраивать ExpansionPanels так же, как ExpansionTiles, которые можно использовать только в ListView.