Flutter: Základní widgety
Z MiS
(Rozdíly mezi verzemi)
(Vytvořena kostra stránky) |
(Úprava jednoduchého dialogu.) |
||
(Nejsou zobrazeny 4 mezilehlé verze od 1 uživatele.) | |||
Řádka 28: | Řádka 28: | ||
== Tlačítka == | == Tlačítka == | ||
+ | ElevatedButton( | ||
+ | onPressed: _nazevMetodyReakce, | ||
+ | child: const Text('Popis tlačítka'), | ||
+ | ), | ||
== ListView == | == ListView == | ||
+ | * Pro zobrazení seznamu <code>seznam</code> můž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í:',), | ||
+ | |||
+ | == 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'); |
Aktuální verze z 4. 3. 2025, 02:47
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(...)
.
Tlačítka
ElevatedButton( onPressed: _nazevMetodyReakce, child: const Text('Popis tlačítka'), ),
ListView
- Pro zobrazení seznamu
seznam
můž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í:',),
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');