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

Flutter自定义StatelessWidget:如何用传入的Colors参数设置Icon颜色

解决方法

你的代码需要调整几个细节,同时完成颜色传递的需求,具体操作如下:

  • 遵循Dart类名规范,把colorSymbol改为首字母大写的ColorSymbol
  • 成员变量的类型应该是Color而非Colors——Colors是Flutter提供的工具类,用于存放预定义颜色常量,实际颜色对象的类型是Color
  • 在Icon的color参数位置,直接传入你定义的color成员变量即可
  • 简化构造函数写法,贴合Dart语法规范

修正后的完整代码:

class ColorSymbol extends StatelessWidget {
  final Color color;
  
  const ColorSymbol({
    required this.color,
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return Icon(
      Icons.accessibility,
      color: color, // 直接使用传入的颜色变量
      size: 64.0,
    );
  }
}

使用组件时,可通过以下方式传递颜色:

// 传入Flutter预定义颜色
ColorSymbol(color: Colors.blue),
// 传入自定义十六进制颜色
ColorSymbol(color: Color(0xFF4CAF50)),

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:36:09