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

Flutter中如何获取TextField的默认背景色?

获取Material TextField默认浅灰色背景色

可以通过Theme.of(context)访问到这个默认背景色,不同Material版本的取值路径略有区别:

  • Material 3:TextField默认的浅灰色背景色来自主题色板的surfaceVariant,直接通过Theme.of(context).colorScheme.surfaceVariant即可获取。
  • Material 2:未聚焦状态下的默认背景色,优先取Theme.of(context).inputDecorationTheme.fillColor;如果没有自定义配置这个值,会 fallback 到基于canvasColor的浅灰变体,你可以用Theme.of(context).inputDecorationTheme.fillColor ?? Theme.of(context).canvasColor.withOpacity(0.12)来适配。

你可以通过代码快速验证:

// Material 3 获取示例
Color textFieldDefaultBg = Theme.of(context).colorScheme.surfaceVariant;

// Material 2 获取示例
Color textFieldDefaultBg = Theme.of(context).inputDecorationTheme.fillColor 
                          ?? Theme.of(context).canvasColor.withOpacity(0.12);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 18:27:02