Flutter容器:不能同时提供颜色和装饰,要同时提供两者,请使用“decoration: BoxDecoration(color: color)”

Ran*_*all 4 dart flutter

当尝试运行我的应用程序时,我收到此错误:The following assertion was thrown building WallPost: Cannot provide both a color and a decoration To provide both, use "decoration: BoxDecoration(color: color)". 'package:flutter/src/widgets/container.dart': Failed assertion: line 269 pos 15: 'color == null || decoration == null'

我使用的导致错误的代码如下:Container(decoration:BoxDecoration(shape: BoxShape.rectangle, color: Colors.lightGreen ), child: const Icon(Icons.person), color: Colors.grey, ),

我看到的所有地方都告诉我只需将代码编写为Container(decoration:BoxDecoration(color: color )装饰内部的“颜色”参数,而不是装饰之前,但这正是我所做的,但我仍然收到此错误。

当我运行该应用程序时,它给我一个红色屏幕,显示:

'package:flutter/src/widgets/container.dart':failed assertion; line 269 pos 15: 'color == null
Run Code Online (Sandbox Code Playgroud)

decoration == null':无法同时提供颜色和装饰 要同时提供两者,请使用“decoration:BoxDecoration(color: color )”。

这与我已经使用的代码相同。

Cod*_*mer 5

容器不能同时将颜色属性设置为非空,并且将装饰的颜色属性设置为非空。您必须提供一份。要么从容器中去除颜色,要么从盒子装饰中去除颜色,因为它们都有相同的目的

下面显示了没有装饰颜色但有容器颜色的代码片段。

Container(
      decoration:
          BoxDecoration(shape: BoxShape.rectangle),
      child: const Icon(Icons.person),
      color: Colors.grey,
    );
Run Code Online (Sandbox Code Playgroud)

下面显示了具有装饰颜色但不具有容器颜色的代码片段。

Container(
      decoration:
          BoxDecoration(shape: BoxShape.rectangle, color: Colors.lightGreen),
      child: const Icon(Icons.person),
    );
Run Code Online (Sandbox Code Playgroud)

就您而言,请使用后者,因为从您的问题来看,这似乎是您想要实现的目标。