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

Flutter开发:AppIconText组件报color与decoration冲突错误

问题解决:Flutter Container同时设置color与decoration的错误

错误信息

color == null || decoration == null
"Cannot provide both a color and a decoration
To provide both, use "decoration: BoxDecoration(color: color)"."
错误组件:AppIconText
路径:file:///Users/jessezephyr/projects/flutter/ticketapp/lib/screens/search_screen.dart:67:17

问题原因

在AppIconText组件的Container中,同时声明了color属性和decoration属性。Flutter的Container组件不允许这种写法——当使用decoration时,必须把颜色配置到BoxDecoration的color参数中,不能单独设置Container的color。

修改后的代码

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:ticketapp/utils/app_layout.dart';

import '../utils/app_styles.dart';

class AppIconText extends StatelessWidget {
  final IconData icon;
  final String text;
  const AppIconText({super.key, required this.icon, required this.text});

  @override
  Widget build(BuildContext context) {
    return Container(
      padding: EdgeInsets.symmetric(
          vertical: AppLayout.getWidth(12),
          horizontal: AppLayout.getHeight(12)),
      decoration: BoxDecoration(
        color: Colors.white, // 将颜色移至BoxDecoration内
        borderRadius: BorderRadius.circular(AppLayout.getWidth(10)),
      ),
      child: Row(
        children: [
          Icon(
            icon,
            color: const Color(0XFF8FC20F),
          ),
          Gap(AppLayout.getWidth(10)),
          Text(
            text,
            style: Styles.textStyle,
          )
        ],
      ),
    );
  }
}

修改说明

  • 移除了Container单独的color: Colors.white属性
  • 将颜色配置整合到BoxDecoration的color参数中

修改完成后,AppIconText组件即可正常显示图标与文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:55:44