Start Debugging

material-3

4 posts

2026-10-19 flutterdarttheming

Como definir design tokens personalizados com ThemeExtension e animá-los entre os temas claro e escuro no Flutter

Herde de ThemeExtension, registre uma instância por ThemeData pela lista extensions, leia com Theme.of(context).extension<T>() e escreva um lerp de verdade para que o AnimatedTheme do MaterialApp interpole seus tokens durante a troca entre claro e escuro. Cobre cores, raios, sombras, estilos de texto e booleanos, o crash por extensão ausente, a armadilha do copyWith que descarta todas as outras extensões e por que você precisa de == e hashCode, tudo verificado com testes de widget no Flutter 3.44.8.