Flutter: Základní widgety
Z MiS
				
				
				
				
																
				
				
								
				
| Obsah | 
Uspořádání stránky
Center( child: ... )
Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ ... ] )
Textová pole
TextField(
  controller: _abcController,
  decoration: const InputDecoration(
    labelText: 'Popis – co zadávat',
  ),
  keyboardType: TextInputType.number, // Pokud chceme omezit vstup na číselné hodnoty
),
- Kontroler textového pole
final TextEditingController _abcController = TextEditingController();
- Zpracování obsahu textového pole
final double totalPrice = double.parse(parsedValue = _abcController.text.trim());
-  Obdobně lze int.parse(...).
-  Další možnosti InputDecoration
contentPadding: EdgeInsets.all(20.0),
- Odsazení obsahu
border: OutlineInputBorder(),
- Ohraničení textového pole
hintText: 'Text'
-  Nahrazuje labelText, ale po zadání textu do pole zmizí.
Tlačítka
 ElevatedButton(
   onPressed: _nazevMetodyReakce,
   child: const Text('Popis tlačítka'),
 ),
ListView
-  Pro zobrazení seznamu seznammůžeme použít ListView:
 Expanded(
   child: ListView.builder(
     itemCount: _seznam.length,
     itemBuilder: (context, index) {
       return ListTile(
           title: Text('${_seznam[index].abc}'),
           subtitle: Text('${_seznam[index].def}'),
       );
     },
   ),
 ),
Textová popiska
const Text('Záznamy o tankování:',),
Vyskakovací bublina (Toast)
- V mobilních aplikacích se pro stručná oznámení používá spíše vyskakovací bublina, než vyskakovací okno.
 setState(() {
   ScaffoldMessenger.of(context).showSnackBar(
     SnackBar(
         content: Text('Informace pro uživatele')
     ),
   );
 });
Jednoduchý dialog
Pro zobrazení dialogu si můžeme vytvořit metodu:
 Future<void> displayDialog(String messageText) => showDialog<void>(
   context: context,
   builder: (context) {
     return AlertDialog(
       title: const Text('Chybně zadaná data:'),
       content: Text(messageText),
       actions: <Widget>[
         TextButton(
           onPressed: () {
             Navigator.of(context).pop();
           },
           child: const Text('OK'),
         ),
       ],
     );
   },
 );
Metodu následně voláme:
displayDialog('Text');
				
								
				