You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中不修改colorScheme的inversePrimary,如何修改SnackBarAction文字颜色?

Flutter 3.7.7稳定版SnackBarAction颜色无法覆盖问题

在Flutter 3.7.7稳定版中,SnackBarAction的文字颜色存在优先级异常问题:它会强制使用ColorScheme的inversePrimary值,完全忽略SnackBarThemeData.actionTextColor以及SnackBarAction自身的textColor配置。

问题复现代码

// 组件内直接设置textColor
action: SnackBarAction(
  label: 'Undo',
  onPressed: () {},
  textColor: Colors.red,
),

// Theme全局配置SnackBar主题
snackBarTheme: const SnackBarThemeData(
  actionTextColor: Colors.red,
),

// ColorScheme中的inversePrimary设置
inversePrimary: Color(0xFF86D992),

执行上述代码后,SnackBarAction的文字颜色仍为inversePrimary对应的#86D992,而非设置的红色。

临时解决方式

  • 若无法升级Flutter版本,可临时将ColorScheme的inversePrimary改为你需要的SnackBarAction文字颜色;
  • 升级Flutter至3.7.8及以上稳定版,该版本已修复此优先级问题,textColor和actionTextColor将恢复正常优先级。

内容的提问来源于stack exchange,提问作者s4nk37

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 17:12:07