Una clase Widget propia
Parte de la sección Cómo hacerla interactiva del Journey de Flutter de Coddy. Lección 9 de 34.
Cada widget que has usado, Text, Row, Scaffold, es una clase que alguien escribió. Puedes escribir la tuya y ya tienes una: MyApp.
A partir de ahora, tus aplicaciones tienen dos clases. MyApp configura la aplicación con MaterialApp, y la pantalla tiene su propia clase, HomePage:
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(child: Text('Hi')),
);
}
}extends StatelessWidget hace que HomePage sea un widget. La línea const HomePage({super.key}); es lo que te permite escribir HomePage(): cópiala tal cual, con el nombre de tu clase. build devuelve lo que muestra el widget.
Úsala como cualquier otro widget: home: HomePage(). Una pantalla en su propia clase es más fácil de leer y, en las próximas lecciones, permitirá que la pantalla cambie mientras la aplicación que la rodea permanece igual.
Desafío
FácilLa clase HomePage está escrita al final del archivo, pero la aplicación todavía muestra su antigua pantalla Coming soon.
- Añade al
ScaffolddeHomePageunaAppBarcon el títuloNotes. - Haz que
MyAppla muestre: reemplaza todo elScaffolddespués dehome:porHomePage().
Pruébalo tú mismo
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')),
);
}
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Cómo hacerla interactiva
1Botones
Tu primer botónImprimir en la consolaBotones de texto y contornoBotones con iconosEl botón de acción flotante7Interruptores y deslizadores
Encender y apagar con un interruptorMarcar una casillaElegir un valor con un deslizador3Widgets con estado
Una clase Widget propiaMuestra un SnackBarsetState vuelve a dibujar la pantallaEscribe un StatefulWidgetUn contador que sube y bajaHot Reload conserva el estadoPractica por tu cuenta: Compilador de Flutter online