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 或字段。
如何解决问题并升级代码?
而不是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,您可以右键单击已弃用的警告来修复错误: