Ir al contenido

Guía de Flutter para novatos - Miguel Páramos

FAQ sobre Flutter pal que no tiene ni idea de Flutter | 2º DAM · PMDM

Cómo cambiar el color de fondo de la pantalla (Scaffold): directamente vs. mediante el tema global

El color de fondo de una pantalla en Flutter puede personalizarse con gran facilidad. Existen dos enfoques complementarios según el alcance arquitectónico que se desee: aplicarlo puntualmente a una pantalla individual o estandarizarlo de forma global en toda la aplicación.

Opción 1: Directamente en el widget Scaffold (Ámbito local)

Sección titulada «Opción 1: Directamente en el widget Scaffold (Ámbito local)»

Si se desea que una pantalla en particular muestre un color de fondo diferenciado (por ejemplo, en un proceso de onboarding, una pantalla de login o una vista temática), basta con asignar el color a la propiedad backgroundColor de ese Scaffold:

Scaffold( // Andamio de la pantalla específica
backgroundColor: Colors.yellow.shade100, // Asigna color de fondo local exclusivo de este Scaffold
body: const Center( // Centra el contenido en pantalla
child: Text('Fondo exclusivo de esta pantalla'), // Texto visible sobre el fondo amarillo
), // Fin del widget Center
); // Fin del widget Scaffold

Opción 2: A través del Tema Global (Para todas las pantallas de la app)

Sección titulada «Opción 2: A través del Tema Global (Para todas las pantallas de la app)»

Si el objetivo es mantener una coherencia visual homogénea en toda la aplicación sin necesidad de repetir la propiedad en cada pantalla, lo idiomático es definirlo dentro de ThemeData mediante scaffoldBackgroundColor:

ThemeData( // Configuración global de estilos de la aplicación
useMaterial3: true, // Habilita las especificaciones y componentes modernos de Material 3
colorScheme: ColorScheme.fromSeed(seedColor: Colors.brown), // Genera la paleta armónica a partir del color semilla
scaffoldBackgroundColor: const Color(0xFFF8FAFC), // Color de fondo predeterminado para todos los Scaffold de la app
) // Fin de ThemeData