Flutter: Kostra aplikace
Z MiS
(Rozdíly mezi verzemi)
(Doplnění popisu ke kostře aplikace.) |
(→Základní kostra aplikace s měnícím se obsahem: Přidána metoda dispose().) |
||
| Řádka 45: | Řádka 45: | ||
// Controllery tlačítek | // Controllery tlačítek | ||
| − | void | + | void _akceProvadejiciZmenuStavuOkna() { // Například reakce na stisk tlačítka. |
setState(() { ... }); | setState(() { ... }); | ||
} | } | ||
| − | + | ||
| + | @override | ||
| + | void dispose() { // Uvolnění případných kontrollerů, pokud jsou. | ||
| + | _abcController.dispose(); | ||
| + | super.dispose(); | ||
| + | } | ||
| + | |||
@override | @override | ||
Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||
Aktuální verze z 14. 12. 2025, 18:39
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 _akceProvadejiciZmenuStavuOkna() { // Například reakce na stisk tlačítka.
setState(() { ... });
}
@override
void dispose() { // Uvolnění případných kontrollerů, pokud jsou.
_abcController.dispose();
super.dispose();
}
@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.