Was du über das Flutter Scaffold Widget wissen solltest

Markus Kühle
2 min readFeb 6, 2022

--

Du fängst an deine App zu programmieren, möchtest den ersten Text ausgeben und auf deinem Bildschirm erscheint der Text in rot und ist zudem noch in gelb unterstrichen. Zwei Fragen tauchen im Kopf auf:

  1. Warum ist der Text so schön bunt und
  2. Wie kann ich die gelbe Linie unter dem Text wieder verschwinden lassen?
Ohne Scaffold Widget wird der Text rot mit gelbem Unterstrich ausgegeben

Erscheint der Text so rot und gelb auf deiner App dann fehlt dir das Scaffold Widget oder ein anderer Material Container. Der Text wurde ohne Scaffold, also einfach direkt als Child in der MaterialApp, angegeben:

Flutter App Source Code ohne Scaffold Widget

Scaffold ist das Top-Level Widget

Das Scaffold sollte immer zentral als Top-Level-Container einer MaterialApp implementiert sein, denn es ermöglicht dem Framework auf dem Material Design zu arbeiten.

Das Scaffold sollte direkt im home Attribut des MaterialApp Widgets angegeben werden:

Gibt man das Scaffold ordentlich an kommt die gewünscht Formatierung ohne die farblichen Elemente raus.

Normale Darstellung mit Scaffold Widget

Tipp: Immer nur ein einziges zentrales Scaffold Widget auf höchster Ebene verwenden.

Man kann Scaffolds zwar ineinander schachteln aber das sollte man möglichst vermeiden.

API für weitere zentrale Widgets

Gleichzeitig hat man mit dem Scaffold den direkten Zugriff auf die APIs für einen Drawer, AppBar und BottomSheet.

Scaffold Widget API Attribute an einem Screenshot erklärt
Das Scaffold Widget mit seinem Attributen für weitere zentrale Widgets

So kann man seiner eigenen App schnell und ohne viel Aufwand den richtigen Rahmen geben. Ob man mit einer BottomNavigationBar oder einem Drawer arbeiten möchte — das Scaffold ist der Start dafür.

Tipp: Wenn über das Flutter Routing auf neue Screens navigiert empfiehlt es sich über ein erneutes verwenden eines weiteren Scaffolds nachzudenken.

Und hier noch der Vollständigkeit halber das Scaffold Widget Code-Beispiel:

Und natürlich kann der Code auch im Dartpad ausprobiert werden:

Für weitere Infos rund um Flutter folge mir gerne auf Twitter: https://twitter.com/_mkuehle

Sign up to discover human stories that deepen your understanding of the world.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Markus Kühle
Markus Kühle

Written by Markus Kühle

CEO at @coodoo_io, Flutter Developer and Architect

No responses yet

Write a response