Eine eigene Widget-Klasse
Teil des Abschnitts Apps interaktiv gestalten der Flutter-Journey von Coddy. Lektion 9 von 34.
Jedes Widget, das du verwendet hast – Text, Row, Scaffold – ist eine Klasse, die jemand geschrieben hat. Du kannst deine eigenen schreiben, und du hast bereits eine: MyApp.
Von nun an haben deine Apps zwei Klassen. MyApp richtet die App mit MaterialApp ein, und der Bildschirm erhält eine eigene Klasse, HomePage:
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(child: Text('Hi')),
);
}
}extends StatelessWidget macht HomePage zu einem Widget. Die Zeile const HomePage({super.key}); ermöglicht es dir, HomePage() zu schreiben: Übernimm sie unverändert und verwende dabei den Namen deiner Klasse. build gibt zurück, was das Widget anzeigt.
Verwende es wie jedes andere Widget: home: HomePage(). Ein Bildschirm in einer eigenen Klasse ist leichter zu lesen, und in den nächsten Lektionen kannst du so den Bildschirm ändern, während die App außen herum gleich bleibt.
Aufgabe
EinfachDie Klasse HomePage steht am Ende der Datei, aber die App zeigt weiterhin ihren alten Bildschirm „Demnächst verfügbar“ an.
- Gib dem
ScaffoldinHomePageeineAppBarmit dem TitelNotes. - Sorge dafür, dass
MyAppihn anzeigt: Ersetze das gesamteScaffoldnachhome:durchHomePage().
Probier es selbst
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(child: Text('Coming soon')),
),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(child: Text('No notes yet')),
);
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Apps interaktiv gestalten
1Schaltflächen
Deine erste SchaltflächeIn der Konsole ausgebenText- und umrandete SchaltflächenSymbol-SchaltflächenDer Floating Action Button7Schalter und Schieberegler
Ein und aus mit einem SchalterEin Kästchen ankreuzenEinen Wert mit einem Schieberegler auswählen3Widgets mit Zustand
Eine eigene Widget-KlasseEine SnackBar anzeigensetState zeichnet den Bildschirm neuEin StatefulWidget schreibenEinen Zähler hoch- und herunterzählenHot Reload behält den ZustandÜbe selbstständig: Online-Flutter-Compiler