I Flutter er alt en widget — UI-elementer (knapper, tekst, billeder), layoutstrukturer (rækker, kolonner, afstand) og endda selve appen er alle widgets. Widgets er de immutable byggesten, der kombineres for at danne hele brugergrænsefladen.
Alt er en widget
Widgets describe the UI. EVERYTHING is a widget:
→ visible elements: Text, Image, Icon, Button, etc.
→ layout: Row, Column, Container, Padding, Center, Stack, etc.
→ structure: Scaffold (page structure), AppBar, etc.
→ even the app itself (MaterialApp) and abstract things (Padding, Theme)
→ You build UI by COMPOSING widgets into a tree (widgets contain other widgets).
Kombinering af widgets i et træ
// build a UI by NESTING widgets (composition)
Scaffold( // page structure
appBar: AppBar(title: Text('Home')), // app bar with text
body: Center( // centers its child
child: Column( // vertical layout
children: [
Text('Hello'), // text widget
ElevatedButton( // a button
onPressed: () {},
child: Text('Click'),
),
],
),
),
)
// → a WIDGET TREE: Scaffold > Center > Column > [Text, Button]
