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

sqxo8psd  于 2023-05-19  发布在  Flutter
关注(0)|答案(2)|浏览(174)

当我尝试运行我的应用程序时,我得到这个错误: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 ),在装饰内部而不是在它之前写“color”参数,但这正是我所做的,我仍然得到这个错误。
当我运行应用程序时,它给我一个红色屏幕,说:

'package:flutter/src/widgets/container.dart':failed assertion; line 269 pos 15: 'color == null

decoration == null':不能同时提供颜色和装饰要同时提供,请使用“decoration:BoxDecoration(color:颜色)”。
这和我现在用的代码一样

3zwtqj6y

3zwtqj6y1#

容器的color属性不能为非空,装饰的color属性也不能为非空。你必须提供一个。要么你从容器中删除颜色,要么从盒子装饰中删除颜色,因为***两者都有相同的目的***。
下面显示了没有装饰颜色但有容器颜色的代码段。

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

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

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

在你的情况下,使用后者,因为这似乎是你试图实现的,从你的问题。

cigdeys3

cigdeys32#

Container小部件可以有一个decoration属性和一个color属性,但您应该只指定其中一个。如果同时指定这两个属性,则color属性将被忽略,并被decoration属性中指定的BoxDecoration覆盖。
若要修复此错误,可以删除color属性,并改为在BoxDecoration中指定颜色。下面是正确的代码:

Container(decoration:BoxDecoration(shape: BoxShape.rectangle, color: Colors.lightGreen ), child: const Icon(Icons.person),),

相关问题