Component theme normalization
Summary
#
                  CardTheme, DialogTheme and TabBarTheme were refactored to
                  conform to Flutter's conventions for component themes.
                  CardThemeData, DialogThemeData, and TabBarThemeData
                   were added to
                  define overrides for the defaults of the component visual properties.
                  Releases of Flutter continue to normalize component themes like these for
                  a more consistent theming experience in the material library.
                
Migration guide
#In ThemeData:
- 
                    The type of the 
cardThemeproperty has been changed fromCardThemetoCardThemeData. - 
                    The type of the 
dialogThemeproperty has been changed from theDialogThemetoDialogThemeData. - 
                    The type of 
tabBarThemeproperty has been changed fromTabBarThemetoTabBarThemeData. 
                  The return type of the component theme xTheme.of() methods and
                  Theme.of().xTheme have also changed to xThemeData accordingly.
                
Code before migration:
final CardTheme cardTheme = Theme.of(context).cardTheme;
final CardTheme cardTheme = CardTheme.of(context);
final DialogTheme dialogTheme = Theme.of(context).dialogTheme;
final DialogTheme dialogTheme = DialogTheme.of(context);
final TabBarTheme tabBarTheme = Theme.of(context).tabBarTheme;
final TabBarTheme tabBarTheme = TabBarTheme.of(context);
                    
                    
                    
                  Code after migration:
final CardThemeData cardTheme = Theme.of(context).cardTheme;
final CardThemeData cardTheme = CardTheme.of(context);
final DialogThemeData dialogTheme = Theme.of(context).dialogTheme;
final DialogThemeData dialogTheme = DialogTheme.of(context);
final TabBarThemeData tabBarTheme = Theme.of(context).tabBarTheme;
final TabBarThemeData tabBarTheme = TabBarTheme.of(context);
                    
                    
                    
                  Timeline
#
                  Landed in version: 3.27.0-0.0.pre
                  Stable release: 3.27
                
References
#API documentation:
Relevant PRs:
Unless stated otherwise, the documentation on this site reflects Flutter 3.35.5. Page last updated on 2025-10-30. View source or report an issue.