2

我收到此错误:

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

在最近的更新之前,我已经使用了这个亮度:Brightness.dark 参数用于我的暗模式,没有任何问题。我一次更新了几件事,所以我不确定是什么导致了变化。我现在需要以不同的方式设置我的黑暗模式吗?

当前的黑暗主题:

darkTheme: ThemeData(
           toggleableActiveColor: Colors.blue,
           visualDensity: VisualDensity.adaptivePlatformDensity,
           textTheme: _textTheme(),
           colorScheme: ColorScheme.fromSwatch(primarySwatch: Colors.blue).copyWith(secondary: Colors.blueAccent),
           brightness: Brightness.dark,
         ),
4

1 回答 1

1

这是在 Flutter 更新中收紧 ThemeData 构造函数 wrt 亮度参数和 ColorScheme 的亮度参数的结果。在您的示例中,ColorScheme 的亮度很亮(默认),但 ThemeData 的亮度很暗。

要使您的 darkTheme 正常工作,您需要删除亮度参数并将其放入 colorScheme 中,如下所示:

darkTheme: ThemeData(
            toggleableActiveColor: Colors.blue,
            visualDensity: VisualDensity.adaptivePlatformDensity,
            colorScheme: ColorScheme.fromSwatch(primarySwatch: Colors.blue)
                .copyWith(
                    secondary: Colors.blueAccent, brightness: Brightness.dark),
          ),
于 2022-02-10T18:34:24.883 回答