Flutter中ThemeData的accentColor已弃用,应当使用什么属性进行替代?
Flutter ThemeData中accentColor的替代方案
accentColor在Flutter 2.0及以上版本中已正式从ThemeData属性中弃用,官方指定的替代属性为ColorScheme.secondary,你只需要将原来配置给accentColor的色值迁移到ColorScheme的对应字段即可。
修正后的代码示例
theme: ThemeData( brightness: Brightness.light, primaryColor: kBaseColor, // 新增colorScheme配置替换废弃的accentColor colorScheme: ColorScheme.fromSwatch( primarySwatch: kBaseColor, ).copyWith( secondary: kBaseAccentColor, ), ),
适配提示
- 若你的项目已开启Material 3支持,也可以直接在
ThemeData中配置secondaryColor参数,效果和配置ColorScheme.secondary完全一致 - 迁移后无需修改其他组件调用强调色的逻辑,Flutter官方组件会自动读取新配置的色值
内容的提问来源于stack exchange,提问作者rozerro
相关产品推荐
相关产品推荐

