Flutter: Kostra aplikace
Z MiS
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.