Skip to main content
Selector responsive de sistema, claro y oscuro con miniaturas de las paletas. Categoría: Tema. Uso: Elegir el modo de apariencia del producto. Importa el barrel público y Flutter Material. Código fuente.

Constructor

Esta firma corresponde al código fuente, incluyendo nulabilidad y defaults; las condiciones y el comportamiento se explican debajo.

Propiedades

“Requerido” significa que debes pasar el argumento, incluso cuando su tipo admite null. Los valores null de color suelen delegar al tema; consulta las notas para el rol efectivo.

Ejemplo

Este archivo define una función que devuelve el widget. Llámala desde build con tus datos/callbacks, y conserva el estado y los recursos en su dueño. No ejecuta callbacks ficticios.

Comportamiento y límites

  • Recibe la misma instancia de tema que utiliza MaterialApp. La instancia sigue perteneciendo a la composición de la app.
  • Actualiza controller.themeMode antes de llamar onChanged. Pulsar el modo ya seleccionado no emite el callback.
  • En menos de wideBreakpoint apila tarjetas; en ancho amplio iguala sus alturas con IntrinsicHeight/Row stretch.
  • labels y descriptions permiten reemplazos por ThemeMode. El orden sigue sistema, claro, oscuro.
  • onChanged permite iniciar persistencia de la app, pero su tipo es ValueChanged y el selector no espera ni maneja una operación asíncrona de almacenamiento.
  • No selecciona una paleta editable independiente ni modifica automáticamente ambos temas en modo sistema.
Para ejemplos con estado y composición completos, consulta componentes reutilizables y formularios.