Flutter: ListView

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Příklad zobrazení seznamu: Přidána ikonka pro mazání položky.)
(ListTile: položka seznamu: Přidána možnost aktivní ikony (IconButton).)
 
Řádka 60: Řádka 60:
 
* <code>title</code> – hlavní text (nadpis položky)
 
* <code>title</code> – hlavní text (nadpis položky)
 
* <code>subtitle</code> – doplňující popis položky
 
* <code>subtitle</code> – doplňující popis položky
* <code>leading</code> – ikona vlevo
+
* <code>leading</code> – ikona vlevo (může být <code>Icon</code> nebo <code>IconButton</code>
* <code>trailing</code> – ikona vpravo
+
* <code>trailing</code> – ikona vpravo (opět může být aktivní)
* <code>onTap</code> – reakce na kliknutí
+
* <code>onTap</code> – reakce na kliknutí na položku
  
 
; Příklad použití:
 
; Příklad použití:
Řádka 70: Řádka 70:
 
   title: Text('Karel Dvořák'),
 
   title: Text('Karel Dvořák'),
 
   subtitle: Text('místnost: 33'),
 
   subtitle: Text('místnost: 33'),
   trailing: Icon(Icons.arrow_forward),
+
   trailing: IconButton(
 +
    icon: const Icon(Icons.delete, color: Colors.red),
 +
    onPressed: () => _reakceNaIkonu(index),
 +
    tooltip: 'Nápověda pro ikonku'
 +
  ),
 
   onTap: () {
 
   onTap: () {
 
     _reakceNaKlik;
 
     _reakceNaKlik;
 
   },
 
   },
 
  )
 
  )
 
  
 
== Související stránky ==
 
== Související stránky ==
 
* [[Flutter: Základní widgety]]
 
* [[Flutter: Základní widgety]]
 
* [[Flutter: Kostra aplikace]]
 
* [[Flutter: Kostra aplikace]]

Aktuální verze z 3. 6. 2026, 05:07


Obsah

ListView

Příklad zobrazení seznamu

 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',
           ),
       );
     },
   ),
 ),

Vytvoření ListView

ListView.builder()

ListView.builder(
  itemCount: 10,
  itemBuilder: (context, index) {
    return ListTile(
      title: Text('Položka $index'),
    );
  },
)

ListView(children: [])

ListView(
  children: [
    ListTile(title: Text('Položka 1')),
    ListTile(title: Text('Položka 2')),
    ListTile(title: Text('Položka 3')),
  ],
)


ListTile: položka seznamu

Vlastnosti ListTile
Příklad použití
ListTile(
  leading: Icon(Icons.person),
  title: Text('Karel Dvořák'),
  subtitle: Text('místnost: 33'),
  trailing: IconButton(
    icon: const Icon(Icons.delete, color: Colors.red),
    onPressed: () => _reakceNaIkonu(index),
    tooltip: 'Nápověda pro ikonku'
  ),
  onTap: () {
    _reakceNaKlik;
  },
)

Související stránky

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje