A SingleChildScrollView egy beépített widget a Flutterben, ami lehetővé teszi, hogy a benne levő widget tartalma görgethető legyen.
Fontos a nevében a „single” szó, vagyis valóban csak egy widget lehet a hasában. Van tehát egy child tulajdonsága, ami mondjuk egy Column widgetet tartalmaz. Az már mindegy természetesen, hogy a Column widget-en belül több másik widget is van.
Példa
Adott egy viszonylag hosszabb (azaz magasabb) Column widget, aminek magasságát maximalizálni akarjuk. És azt szeretnénk elérni, hogy ha a tartalom meghaladja ezt a magasságot, akkor az appon belül görgetni lehessen.
Első és legfontosabb dolog, hogy a Column widgetet be kell burkolni egy SizedBox widgettel, aminek megadunk egy fix magasságot:
SizedBox(
height: 300,
child: Column(
children: // ...
Ez még nem elegendő, mert a Column widget köré ismét kell egy másik widget. Most jön képbe tehát a SingleChildScrollView, és ez az, ami végül a görgethetőséget megadja nekünk:
SizedBox(
height: 300,
child: SingleChildScrollView(
child: Column(
children:
A működési logika pedig az, hogy amint a Column meghaladja a SizedBox által meghatározott 300 pixeles magasságot, „aktiválódik” a SingleChildScrollView és a Column görgethető lesz: