Flutter: Kostra aplikace

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Přidán odkaz na Flutter: Základní widgety.)
(Doplnění popisu ke kostře aplikace.)
Řádka 2: Řádka 2:
  
 
== Základní kostra aplikace s měnícím se obsahem ==
 
== Základní kostra aplikace s měnícím se obsahem ==
 +
 +
Metoda <code>main()</code> &mdash; zde se začne provádět program:
  
 
  void main() {
 
  void main() {
 
   runApp(const MainApp());
 
   runApp(const MainApp());
 
  }
 
  }
 +
 +
; StatelessWidget – neměnná část aplikace.
 +
 +
* Základ aplikace je neměnný. Pokud bychom měli aplikaci ``Hello World`` a podobné, stačilo by nám jejich vzhled nadefinovat v hlavní třídě.
 +
* Části, které se musí překreslit nebo které mění obsah, jsou součásti stavu aplikace.
  
 
  class MainApp extends StatelessWidget {
 
  class MainApp extends StatelessWidget {
Řádka 17: Řádka 24:
 
   }
 
   }
 
  }
 
  }
 +
 +
; StatefulWidget – část UI, která se musí překreslit v&nbsp;průběhu životního cyklu aplikace.
  
 
  class XyzMainPage extends StatefulWidget {
 
  class XyzMainPage extends StatefulWidget {
Řádka 26: Řádka 35:
 
   State<XyzMainPage> createState() => _XyzMainPageState();
 
   State<XyzMainPage> createState() => _XyzMainPageState();
 
  }
 
  }
 +
 +
; Reprezentace aktuálního stavu aplikace – State
  
 
  class _XyzMainPageState extends State<XyzMainPage> {
 
  class _XyzMainPageState extends State<XyzMainPage> {
 
   
 
   
   // Datový model aplikace
+
   // Data aplikace
 
    
 
    
 
   // Metody pro práci s daty
 
   // Metody pro práci s daty
Řádka 57: Řádka 68:
 
         floatingActionButton: FloatingActionButton(
 
         floatingActionButton: FloatingActionButton(
 
           onPressed: _metodaProvedeniAkce,
 
           onPressed: _metodaProvedeniAkce,
           tooltip: 'Nápověda',
+
           tooltip: 'Nápověda k tlačítku',
 
           child: const Icon(Icons.add),
 
           child: const Icon(Icons.add),
 
         ),
 
         ),

Verze z 14. 12. 2025, 17:51


Základní kostra aplikace s měnícím se obsahem

Metoda main() — zde se začne provádět program:

void main() {
  runApp(const MainApp());
}
StatelessWidget – neměnná část aplikace.
class MainApp extends StatelessWidget {
  const MainApp({super.key}); 

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: XyzMainPage(title: 'Název aplikace'),
    );
  }
}
StatefulWidget – část UI, která se musí překreslit v průběhu životního cyklu aplikace.
class XyzMainPage extends StatefulWidget {
  const XyzMainPage({super.key, required this.title});

  final String title;

  @override
  State<XyzMainPage> createState() => _XyzMainPageState();
}
Reprezentace aktuálního stavu aplikace – State
class _XyzMainPageState extends State<XyzMainPage> {

  // Data aplikace
 
  // Metody pro práci s daty
  // Controllery tlačítek

  void _zmenaStavuOkna() {
     setState(() { ... });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.green,
          title: Text(widget.title),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[

              // Widgety v hlavním okně

            ],
          ),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: _metodaProvedeniAkce,
          tooltip: 'Nápověda k tlačítku',
          child: const Icon(Icons.add),
        ),
      );
  }
}

Související stránky

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