Flutter: ListView
Z MiS
(Rozdíly mezi verzemi)
(Formátování, upřesnění title a subtitle) |
(→Příklad zobrazení seznamu: Přidána ikonka pro mazání položky.) |
||
| Řádka 16: | Řádka 16: | ||
title: Text('${_seznam[index].nazev}'), | title: Text('${_seznam[index].nazev}'), | ||
subtitle: Text('${_seznam[index].popis}'), | subtitle: Text('${_seznam[index].popis}'), | ||
| + | trailing: IconButton( | ||
| + | icon: const Icon(Icons.delete, color: Colors.red), | ||
| + | onPressed: () => _methodToDeleteItem(index), | ||
| + | tooltip: 'Smazat položku', | ||
| + | ), | ||
); | ); | ||
}, | }, | ||
), | ), | ||
), | ), | ||
| − | |||
== Vytvoření ListView == | == Vytvoření ListView == | ||
Aktuální verze z 25. 5. 2026, 17:25
Obsah |
[editovat] ListView
-
ListViewslouží pro zobrazení dynamického seznamu položek, kterým lze skrolovat. - Lze ho využít například pro zobrazení položek ze seznamu či pro položky, které přidáváme postupně.
[editovat] Příklad zobrazení seznamu
- Pro zobrazení seznamu
seznammůžeme použít ListView:
List<Element> seznam = ...;
Expanded(
child: ListView.builder(
itemCount: _seznam.length,
itemBuilder: (context, index) {
return ListTile(
title: Text('${_seznam[index].nazev}'),
subtitle: Text('${_seznam[index].popis}'),
trailing: IconButton(
icon: const Icon(Icons.delete, color: Colors.red),
onPressed: () => _methodToDeleteItem(index),
tooltip: 'Smazat položku',
),
);
},
),
),
[editovat] Vytvoření ListView
[editovat] ListView.builder()
- Používá se pro delší nebo dynamické seznamy (nejčastější varianta).
- Vytváří položky až když jsou potřeba (lepší výkon)
ListView.builder(
itemCount: 10,
itemBuilder: (context, index) {
return ListTile(
title: Text('Položka $index'),
);
},
)
[editovat] ListView(children: [])
- Vhodné pro krátké statické seznamy — nelze přidávat položky.
ListView(
children: [
ListTile(title: Text('Položka 1')),
ListTile(title: Text('Položka 2')),
ListTile(title: Text('Položka 3')),
],
)
[editovat] ListTile: položka seznamu
- Jednu položku dynamického seznamu reprezentuje widget
ListTile
- Vlastnosti
ListTile
-
title– hlavní text (nadpis položky) -
subtitle– doplňující popis položky -
leading– ikona vlevo -
trailing– ikona vpravo -
onTap– reakce na kliknutí
- Příklad použití
ListTile(
leading: Icon(Icons.person),
title: Text('Karel Dvořák'),
subtitle: Text('místnost: 33'),
trailing: Icon(Icons.arrow_forward),
onTap: () {
_reakceNaKlik;
},
)