Flutter: Základní widgety

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(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());


Tlačítka

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

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');
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje