Я использую Flutter, и я хотел бы создать ExpansionTile Список с двумя элементами в одной и той же плитке.
Например:
name: /....... White-Space ...... / Snow.
имя: / ....... White-Space ...... / John.
местоположение: / ....... White-Space ...... / Winterfell.
Но я не знаю, возможно ли это. (После некоторого поиска в интернетеи документ)
Я пытался работать с колонкой, строкой, .. в собственности детей, но ничего не помогало.
У кого-то есть решение?
Мой код:
class Entry{
const Entry(this.title,[this.children = const <Entry>[]]);
final String title;
final List<Entry> children;
}
const List<Entry> data = <Entry> [
Entry(
' Profile',
<Entry>[
Entry('Jhon'),
Entry('Snow'),
Entry('Winterfell'),
],
),
...
class Collapsible extends StatelessWidget{
@override
Widget build(BuildContext context) {
return ListView.builder(
itemBuilder: (BuildContext context, int index) => EntryItem(data[index]),
itemCount: data.length,
);
}
}
class EntryItem extends StatelessWidget{
const EntryItem(this.entry);
final Entry entry;
Widget _buildTiles(Entry root){
if(root.children.isEmpty) return ListTile(title: Text(root.title));
return ExpansionTile(
backgroundColor: Colors.white30,
initiallyExpanded: true,
key: PageStorageKey<Entry>(root),
title: Center(child: Text(root.title),),
children: root.children.map(_buildTiles).toList()
);
}
@override
Widget build(BuildContext context) {
return _buildTiles(entry);
}
}