Getting failed assertion with setting brightness: Brightness.dark for darkTheme

178

This is a consequence of tightening up the ThemeData constructor wrt the brightness parameter and the ColorScheme's brightness parameter in an update of Flutter. In your example the brightness of the ColorScheme is light (the default), but the ThemeData's brightness is dark.

To get your darkTheme working, you need to remove the brightness parameter and put that in the colorScheme, like so:

darkTheme: ThemeData(
            toggleableActiveColor: Colors.blue,
            visualDensity: VisualDensity.adaptivePlatformDensity,
            colorScheme: ColorScheme.fromSwatch(primarySwatch: Colors.blue)
                .copyWith(
                    secondary: Colors.blueAccent, brightness: Brightness.dark),
          ),
Share:
178
u2tall
Author by

u2tall

Updated on January 03, 2023

Comments

  • u2tall
    u2tall over 1 year

    I'm getting this error:

    'package:flutter/src/material/theme_data.dart': Failed assertion: line 412 pos 12: 'colorScheme?.brightness == null || brightness == null || colorScheme!.brightness == brightness': is not true.
    

    I've used this brightness: Brightness.dark parameter for my dark mode without any problems until a recent update. I updated several things at once, so I'm not sure what caused the change. Do I need to be setting up my dark mode differently now?

    Current dark theme:

    darkTheme: ThemeData(
               toggleableActiveColor: Colors.blue,
               visualDensity: VisualDensity.adaptivePlatformDensity,
               textTheme: _textTheme(),
               colorScheme: ColorScheme.fromSwatch(primarySwatch: Colors.blue).copyWith(secondary: Colors.blueAccent),
               brightness: Brightness.dark,
             ),
    
  • u2tall
    u2tall over 2 years
    Thank you! you're my hero