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 ScaffoldOpció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