我得到以下代码:
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。在MaterialApp的主题数据中描述了colorScheme。但最终还是没能用它当卡。显示错误:“参数类型‘ColorScheme’无法分配给参数类型‘Color’”
这是来自 MaterialApp 的主题数据
theme: ThemeData(
primarySwatch: Colors.green,
colorScheme: ColorScheme.fromSwatch().copyWith(secondary: Colors.red),
canvasColor: Color.fromRGBO(255, 245, 224, 1),
fontFamily: 'Raleway',
textTheme: ThemeData.light().textTheme.copyWith(
bodyText1: TextStyle(
color: Color.fromRGBO(23, 45, 23, 1),
),
bodyText2: TextStyle(
color: Color.fromRGBO(23, 45, 23, 1),
),
headline6: TextStyle(
fontSize: 20,
fontFamily: 'RobotoCondensed',
fontWeight: FontWeight.bold,
),
),
),
Run Code Online (Sandbox Code Playgroud)
这是这张卡的用途
Card(
child: Text(selectedMeal.ingredients[i]),
color: Theme.of(context).colorScheme,//error shows here
),
Run Code Online (Sandbox Code Playgroud)