Alterna entre Modo Oscuro y Claro en Flutter

Aprende cómo implementar el modo oscuro y claro en tus aplicaciones Flutter de forma sencilla y profesional. Incluye ejemplos prácticos y consejos de diseño.

Alberto-Guaman
2024-12-16
8 min
Flutter Dark Mode UI Desarrollo Móvil
Compartir:
Alterna entre Modo Oscuro y Claro en Flutter

¿Quieres que tu app Flutter luzca moderna y se adapte a las preferencias del usuario?
¡Implementa el modo oscuro y claro fácilmente con Flutter!


¿Por qué ofrecer modo oscuro y claro?

  • Mejora la experiencia de usuario y la accesibilidad.
  • Ahorra batería en dispositivos con pantallas OLED.
  • Es tendencia en apps modernas.

¿Cómo funciona el tema en Flutter?

Flutter permite definir temas globales para toda la app usando ThemeData. Puedes alternar entre tema claro y oscuro fácilmente.


Ejemplo básico: Alternar modo oscuro y claro

1. Define los temas en tu app

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  bool _modoOscuro = false;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Modo Oscuro y Claro',
      theme: ThemeData.light(),
      darkTheme: ThemeData.dark(),
      themeMode: _modoOscuro ? ThemeMode.dark : ThemeMode.light,
      home: Scaffold(
        appBar: AppBar(title: Text('Modo Oscuro y Claro')),
        body: Center(
          child: SwitchListTile(
            title: Text('Activar modo oscuro'),
            value: _modoOscuro,
            onChanged: (valor) {
              setState(() {
                _modoOscuro = valor;
              });
            },
          ),
        ),
      ),
    );
  }
}

Detectar el modo del sistema automáticamente

Puedes hacer que tu app use el modo del sistema por defecto:

MaterialApp(
  theme: ThemeData.light(),
  darkTheme: ThemeData.dark(),
  themeMode: ThemeMode.system, // Usa el modo del sistema
  // ...
)

Personaliza tus temas

Puedes crear temas personalizados para dar identidad a tu app:

final temaClaro = ThemeData(
  brightness: Brightness.light,
  primarySwatch: Colors.blue,
  scaffoldBackgroundColor: Colors.white,
  appBarTheme: AppBarTheme(backgroundColor: Colors.blue),
);

final temaOscuro = ThemeData(
  brightness: Brightness.dark,
  primarySwatch: Colors.deepPurple,
  scaffoldBackgroundColor: Colors.black,
  appBarTheme: AppBarTheme(backgroundColor: Colors.deepPurple),
);

MaterialApp(
  theme: temaClaro,
  darkTheme: temaOscuro,
  themeMode: ThemeMode.system,
  // ...
)

Guardar la preferencia del usuario

Puedes usar el paquete shared_preferences para recordar la elección del usuario:

import 'package:shared_preferences/shared_preferences.dart';

// Al cambiar el modo
void _guardarPreferencia(bool modoOscuro) async {
  final prefs = await SharedPreferences.getInstance();
  prefs.setBool('modoOscuro', modoOscuro);
}

// Al iniciar la app
void _cargarPreferencia() async {
  final prefs = await SharedPreferences.getInstance();
  setState(() {
    _modoOscuro = prefs.getBool('modoOscuro') ?? false;
  });
}

Buenas prácticas

  • Usa colores accesibles y buen contraste en ambos modos.
  • Prueba tu app en modo claro y oscuro antes de publicar.
  • Permite al usuario cambiar el modo desde la configuración de la app.

Recursos útiles


¿Listo para modernizar tu app Flutter?
¡Con modo oscuro y claro, tus usuarios te lo agradecerán!

Qué dicen nuestros clientes

Nos enorgullecemos de colaborar con empresas visionarias que buscan soluciones tecnológicas innovadoras y personalizadas.

EXCELENTEA base de 9 reseñas

Excelente profesional, rápido y amable en todo el proceso de lo que necesitas crear.

RM
Raúl Muñoz Jara
2024-08-13

Tinguar es una empresa de diseño web de primer nivel que superó todas mis expectativas. La calidad de su trabajo es impecable.

BL
Bryan German Leon Rueda
2024-02-22

Excelente servicio, me ayudo con mi pagina EEUU. Lo recomiendo 100%.

JL
Jorge Luis
2024-04-26

Excelente servicio, me realizo la pagina web y va de maravilla. Recomendable.

DJ
Daniel Jaramillo
2024-03-04

Excelente servicio y atención, recomendado llevo años con esta empresa y son muy profesionales.

AV
Adrian Alejandro Villena
2023-06-06

El gerente excelente profesional, realizó nuestra página para el centro pre universitario.. 10 / 10

CL
Carranza Luis
2023-09-02

Increíble trabajo, muy profesional y puntual. Mi sitio web quedó perfecto.

MG
María González
2024-01-15

Excelente atención al cliente y resultados sobresalientes. Altamente recomendado.

CR
Carlos Rodríguez
2024-05-20

Trabajo de calidad superior, entregaron antes de lo esperado. Muy satisfecho.

AM
Ana Martínez
2024-03-18

Profesionales de primera, entendieron perfectamente lo que necesitaba.

LF
Luis Fernández
2024-06-10

Servicio excepcional, comunicación clara y resultados excelentes.

PS
Patricia Silva
2024-04-05

Equipo muy competente, transformaron mi idea en una realidad digital increíble.

RT
Roberto Torres
2024-07-22

Excelente profesional, rápido y amable en todo el proceso de lo que necesitas crear.

RM
Raúl Muñoz Jara
2024-08-13

Tinguar es una empresa de diseño web de primer nivel que superó todas mis expectativas. La calidad de su trabajo es impecable.

BL
Bryan German Leon Rueda
2024-02-22

Excelente servicio, me ayudo con mi pagina EEUU. Lo recomiendo 100%.

JL
Jorge Luis
2024-04-26

Excelente servicio, me realizo la pagina web y va de maravilla. Recomendable.

DJ
Daniel Jaramillo
2024-03-04

Excelente servicio y atención, recomendado llevo años con esta empresa y son muy profesionales.

AV
Adrian Alejandro Villena
2023-06-06

El gerente excelente profesional, realizó nuestra página para el centro pre universitario.. 10 / 10

CL
Carranza Luis
2023-09-02

Increíble trabajo, muy profesional y puntual. Mi sitio web quedó perfecto.

MG
María González
2024-01-15

Excelente atención al cliente y resultados sobresalientes. Altamente recomendado.

CR
Carlos Rodríguez
2024-05-20

Trabajo de calidad superior, entregaron antes de lo esperado. Muy satisfecho.

AM
Ana Martínez
2024-03-18

Profesionales de primera, entendieron perfectamente lo que necesitaba.

LF
Luis Fernández
2024-06-10

Servicio excepcional, comunicación clara y resultados excelentes.

PS
Patricia Silva
2024-04-05

Equipo muy competente, transformaron mi idea en una realidad digital increíble.

RT
Roberto Torres
2024-07-22
Verificado por Trustindex

¿Te gustó este artículo?

Si encontraste útil este contenido, considera compartirlo o contactarnos para proyectos similares. Estamos aquí para ayudarte con tus necesidades tecnológicas.

¡Comunicate por WhatsApp !