Flutter: Kostra aplikace
Z MiS
(Rozdíly mezi verzemi)
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> — 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 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> { | ||
| − | // | + | // 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.
- 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 {
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
- Základní widgety pro vytvoření obsahu okna: Flutter: Základní widgety.