Saltar al contenido principal

CupertinoThemeData.brightness ahora admite nulos (nullable)

CupertinoThemeData.brightness ahora admite nulos (nullable), y devuelve tal cual el valor especificado por el usuario (por defecto null).

Resumen

#

CupertinoThemeData.brightness ahora admite nulos.

Contexto

#

CupertinoThemeData.brightness ahora se utiliza para sobrescribir MediaQuery.platformBrightness para los widgets Cupertino. Antes de este cambio, el getter CupertinoThemeData.brightness devolvía Brightness.light cuando se establecía en null.

Descripción del cambio

#

Anteriormente, CupertinoThemeData.brightness estaba implementado como un getter:

dart
Brightness get brightness => _brightness ?? Brightness.light;
final Brightness _brightness;

Ahora es una propiedad almacenada (stored property):

dart
final Brightness brightness;

Guía de migración

#

Generalmente, CupertinoThemeData.brightness rara vez es útil fuera del framework de Flutter. Para recuperar el brillo de los widgets Cupertino, ahora utiliza en su lugar CupertinoTheme.brightnessOf.

Con este cambio, ahora es posible sobrescribir CupertinoThemeData.brightness en una subclase de CupertinoThemeData para cambiar la sobrescritura de brillo. Por ejemplo:

dart
class AlwaysDarkCupertinoThemeData extends CupertinoThemeData {
  Brightness brightness => Brightness.dark;
}

Cuando un CupertinoTheme utiliza el CupertinoThemeData anterior, el modo oscuro se activa para todos sus descendientes Cupertino que se vean afectados por este CupertinoTheme.

Timeline

#

Lanzado en la versión: 1.16.3
En versión estable: 1.17

Referencias

#

Doc de diseño:

Documentación de la API:

Problema relevante:

PR relevante: