fluttermigrating

migrating accent color in flutter v2.5


after the flutter 2.5 update my theme data kinda broke and doesn't accept accentColor anymore. I took a look at the documantation and saw that is "renamed" to colorScheme.secondary. But no matter what I try, I can't get it to work for me.

This is my current code:

class Themes {
  static final lightTheme = ThemeData(
    accentColor: Palette.orange,
    colorScheme: ColorScheme.light(),
    floatingActionButtonTheme: FloatingActionButtonThemeData(
      backgroundColor: Palette.orange,
      foregroundColor: Colors.white,
    ),
    scaffoldBackgroundColor: Colors.white,
  );

  static final darkTheme = ThemeData(
    accentColor: Palette.orange,
    colorScheme: ColorScheme.dark(),
    floatingActionButtonTheme: FloatingActionButtonThemeData(
      backgroundColor: Palette.orange,
      foregroundColor: Colors.white,
    ),
    scaffoldBackgroundColor: Colors.grey[900],
  );
}

Solution

  • So many changes are in flutter 2.5

    Try to use Below code hope it's helpful to you

     theme: ThemeData(
          colorScheme:  Theme.of(context).colorScheme.copyWith(secondary: Color(accentColor))
    ),
    

    for more information check official documentation here

    
    final ThemeData theme = ThemeData();
    MaterialApp(
      theme: theme.copyWith(
        colorScheme: theme.colorScheme.copyWith(secondary: myColor),
      ),
      //...
    )
    

    Code before migration:

    Color myColor = Theme.of(context).accentColor;
    

    Code after migration:

    Color myColor = Theme.of(context).colorScheme.secondary;