如何在 Flutter 中升级“ThemeData”中的“accentColor”?

bes*_*man 3 syntax upgrade flutter themedata

我得到以下代码:

  theme: ThemeData(
    primarySwatch: Colors.purple,
    accentColor: Colors.deepOrange,
    fontFamily: 'Lato',
    pageTransitionsTheme: PageTransitionsTheme(
      builders: {
        TargetPlatform.android: CustomPageTransitionBuilder(),
        TargetPlatform.iOS: CustomPageTransitionBuilder(),
      },
    ),
  ),
Run Code Online (Sandbox Code Playgroud)

我知道它accentColor已被弃用,因此我在这些代码行中收到以下错误:

 TextStyle( color: Theme.of(context).accentTextTheme.title.color,),
Run Code Online (Sandbox Code Playgroud)

没有为“TextTheme”类型定义 getter“title”。尝试导入定义“title”的库,将名称更正为现有 getter 的名称,或者定义名为“title”的 getter 或字段。

 TextStyle( color: Theme.of(context).primaryTextTheme.title.color,),
Run Code Online (Sandbox Code Playgroud)

没有为“TextTheme”类型定义 getter“title”。尝试导入定义“title”的库,将名称更正为现有 getter 的名称,或者定义名为“title”的 getter 或字段。

如何解决问题并升级代码?

Men*_*elG 9

而不是accentColor使用colorScheme

colorScheme: ColorScheme.fromSwatch(primarySwatch: Colors.purple)
            .copyWith(secondary: Colors.deepOrange),
Run Code Online (Sandbox Code Playgroud)

用法:

Color myColor = Theme.of(context).colorScheme.secondary;
Run Code Online (Sandbox Code Playgroud)

也可以看看


如果您使用的是 Android Studio,您可以右键单击已弃用的警告来修复错误:

在此输入图像描述