Flutter: Základní widgety

Z MiS
Verze z 16. 2. 2026, 09:55; Spravce (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání


Obsah

Uspořádání stránky

Center( child: ... )
Column(
  mainAxisAlignment: MainAxisAlignment.center,
  children: <Widget>[ ... ]
)
Padding(
  padding: EdgeInsetsGeometry.all(20),
  child: ...
)
Expanded( child: ... )

Textová pole

TextField(
  controller: _abcController,
  decoration: const InputDecoration(
    labelText: 'Nadpis pole – viditelný popisek:',
  ),
  keyboardType: TextInputType.number, // Pokud chceme omezit vstup na číselné hodnoty
),
Parametry widgetu
enabled:  
readOnly:  
onChanged: (text) { ... }


Kontroler textového pole
final TextEditingController _abcController = TextEditingController();
final double totalPrice = double.parse(parsedValue = _abcController.text.trim());
_abcController.dispose()
Nastavení vzhledu InputDecoration
contentPadding: EdgeInsets.all(20.0),
border: OutlineInputBorder(),
labelText: 'text'
hintText: 'Text'

Tlačítka

 ElevatedButton(
   onPressed: _nazevMetodyReakce,
   child: const Text('Popis tlačítka'),
 ),
Vlastnosti
onPressed:   
child:  

ListView

Odsazení

SizedBox(height: 10),

Příklad použití:

Column(
  const Text('Hello'),
  const Sizedbox(height: 10),
  const Text('World!'),
)

Textová popiska

const Text('Záznamy o tankování:',),


Vyskakovací bublina (Toast)

 setState(() {
   ScaffoldMessenger.of(context).showSnackBar(
     SnackBar(
         content: Text('Informace pro uživatele')
     ),
   );
 });


Jednoduchý dialog

Pro vytvoření jednoduchého dialogu slouží třída AlertDialog.

Parametry konstruktoru AlertDialog
title: const Text('Titulek dialogu')
content: const Text('Zpráva dialogu...')
actions: [ seznam akcí/tlačítek ]
Příklad – Jednoduchý dialog s jedním tlačítkem
AlertDialog(
  title: const Text('Skutečně smazat položku'),
  content: const Text('Soubor neobsahuje platná data!'),
  actions: [
    TextButton(
      onPressed: () => Navigator.pop(context),
      child: const Text('OK'),
    ),
  ]
)
Příklad – Potvrzovací dialog se dvěma tlačítky
AlertDialog(
  title: const Text('Upozornění'),
  content: const Text('Skutečně chcete smazat položku XYZ?'),
  actions: [
    TextButton(
      onPressed: () => {
        setState(() { _akceSmazSkutecne(); };);
        _akceUloz();
        Navigator.pop(context);
      },
      child: const Text('Smaž'),
    ),
    TextButton(
      onPressed: () => Navigator.pop(context),
      child: const Text('Zrušit'),
    ),
  ]
)

Vyvolání dialogu

Metoda pro různá hlášení

Můžeme připravit metodu pro vyvolání obecného dialogu:

 Future<void> ukazHlaseni(String messageText) => showDialog<void>(
   context: context,
   builder: (context) {
     return AlertDialog( ... );
   },
 );

Metodu následně voláme:

ukazHlaseni('Text');
Volání přímo v kódu

Můžeme také dialog vytvořit a rovnou ho zavolat:

showDialog(
  context: context,
  builder: (context) => AlertDialog( ... ),
)
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje