Introducción a Flutter y Dart
¿Vale la pena Aprender Flutter?
Introducción a Flutter y Dart
Estructura Básica de una Aplicación Flutter
Sintaxis Básica de Dart
Widgets en Flutter
¿Qué son los Widgets en Flutter y Cómo Funcionan?
Widgets Básicos en Flutter
¿Cómo estructurar pantallas en Flutter con TabBar?
Cómo Personalizar Widgets en Flutter
Manejo de Recursos y Formularios
Manejo de Assets en Flutter: Imágenes
Formularios en Flutter
Implementación de formularios en Flutter
Navegación y APIs
Navegación entre Pantallas en Flutter
Crea una API en Segundos con Mockoon
Conexión a APIs en Flutter
Gestión de Estados
Cómo Usar ListView en Flutter
Manejo de Estados de Carga y Errores en Flutter
Gestión del Estado con Provider en Flutter
Cómo Usar la Librería Provider en Flutter
Gestión del Estado StatefulWidget en Flutter
StatefulWidget en Flutter
Experiencia de Usuario
Flujo de una Aplicación Flutter
Animaciones en Flutter
Internacionalización y Accesibilidad en Flutter
Publicación de Apps
¿Cómo hacer APK en Flutter?
Cómo crear una cuenta de desarrollador de Google Play
¿Cómo subir una aplicación Flutter a Google Play?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Alison Jimenez
Las aplicaciones modernas suelen requerir múltiples pantallas para organizar sus funcionalidades de manera eficiente. Aquí exploraremos cómo crear una nueva pantalla en Flutter, navegar entre ellas y pasar datos de una a otra, logrando una experiencia de usuario dinámica.
recipe_detail.dart
.StatefulWidget
llamado RecipeDetail
para mantener el estado de la pantalla.material.dart
para acceder a las herramientas de diseño de Flutter.Scaffold
para estructurar la página:
AppBar
con un botón que permita regresar a la pantalla anterior.Icons.arrow_back
, configurado con un color contrastante para destacarlo.AppBar(
leading: IconButton(
icon: Icon(Icons.arrow_back, color: Colors.white),
onPressed: () => Navigator.pop(context),
),
backgroundColor: Colors.orange,
title: Text('Detalle de Receta'),
)
GestureDetector
para capturar eventos de clic en elementos como tarjetas o botones.Navigator.push()
para redirigir al usuario:
MaterialPageRoute
que apunta a la nueva pantalla.GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => RecipeDetail(recipeName: 'Lasaña')),
);
},
child: Card(
child: Text('Ver detalle'),
),
)
final
para garantizar que los datos sean inmutables.Text
.class RecipeDetail extends StatelessWidget {
final String recipeName;
const RecipeDetail({Key? key, required this.recipeName}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(recipeName),
backgroundColor: Colors.orange,
),
body: Center(
child: Text('Receta: $recipeName'),
),
);
}
}
Navigator.pop(context)
en el botón de regreso.Aportes 3
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?