我正在学习可重复使用的自定义小工具.

在这里,我想创建一个默认灯光 colored颜色 为灰色的容器,但在应用Colors.grey.shade200时显示错误

看起来像是 colored颜色 .灰色是常量,但.shade200不是常量值

那么我们如何才能使用色调作为恒定的.

class RoundedContainer extends StatelessWidget {
  
  final Color backgroundColor;
 

  const RoundedContainer({
    super.key,
    
    this.backgroundColor= Colors.grey.shade200,//showing error
   
  });

推荐答案

您不能执行上述操作,因为:Colors.grey.shade200值不是compile-time constant.您可以这样做,您可以使背景 colored颜色 为空,然后在 colored颜色 不可用的情况下指定阴影.

class RoundedContainer extends StatelessWidget {
  final Color? backgroundColor;

  
  const RoundedContainer({
    Key? key,
    required this.backgroundColor,
  }) : super(key: key);

 

  @override
  Widget build(BuildContext context) {
    // Rest of your build method
    return Container(
      color: backgroundColor ?? Colors.grey.shade200
    );
  }
}

Flutter相关问答推荐

Flutter在创建时为提供者调用初始化函数

ListTile未正确显示在flutter中

如何在扩展其他小部件时访问Ref

从外部类动态更改IconButton的图标

在Flutter 中每次点击按钮时都很难调用自定义函数

确保通过在CheckIfFavoriteMovieEvent((event,emit){...})上注册处理程序误差

Wired Firebase错误-[CLOUD_FIRESTORE/UNAvailable]该服务当前不可用

如何处理平台游戏的对象冲突?

Flutter 需要 Xcode 14 或更高版本

构建上下文不能跨异步间隙使用

Flutter:如何设置 PersistentFooterButtons 背景?

如果其他Provider 的帐户已存在,如何阻止用户登录?

我怎样才能消除我的 Column 子元素之间的差距?

如何将此文本按钮剪辑在堆栈中的圆形头像上方?

如何制作flutter showDialog、AlertDialog屏障 colored颜色 渐变

如何在 Flutter 中测试动画图标

Flutter:如何判断嵌套列表是否包含值

如何获取 android 和 Ios (flutter) 的 CircularProgress 指示器?

如何在椭圆形图像周围添加边框?Flutter

Flutter:如何将 AssetImage 转换为 Unit8List?