Flutter开发:Color类型参数无法赋值给int类型参数报错解决
Flutter自定义按钮Color类型传参报错修复
错误原因
报错来自类型重复包装:
你在组件属性定义阶段已经将textColor、buttonColor声明为Color类型,但在TextStyle中赋值时,额外调用了Color()构造函数包裹textColor变量。而Color类的默认构造函数要求传入int类型的十六进制色值参数,传入已有的Color类型对象就会触发类型不匹配错误。
修复方案
删除多余的Color()包装,直接使用已经是Color类型的属性传参即可,修改后的TextStyle代码:
style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold, color: textColor, )
补充说明
- 仅当你传入的是int格式的十六进制色值时,才需要使用
Color()构造,标准写法为Color(0xFF对应色值),其中0xFF是固定的透明度前缀 - 组件中定义的
buttonColor属性在使用时同理,直接传值即可,无需额外套Color()构造
内容的提问来源于stack exchange,提问作者I. Antonov
相关产品推荐
相关产品推荐

