如何为颜色指定默认值?

时间:2019-11-03 11:07:43

标签: flutter dart

如果未在使用小部件的位置分配任何值,我想为小部件分配默认颜色Color(0xFF1D1E33)

class ReusableContainer extends StatelessWidget {
  Color colour;
  ReusableContainer({this.colour});
  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.all(15),
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(10.0),
        color: colour,
      ),
    );
  }
}
ReusableContainer(colour: Color(0xFFF48024)), //assigned value here
.........
.........
ReusableContainer()  //default value here

2 个答案:

答案 0 :(得分:0)

您既可以使用命名参数的默认值(它将为空),也可以使用支持空值的运算符来设置属性(该属性不能为空)。

class ReusableContainer extends StatelessWidget {
  Color colour;
  ReusableContainer({this.colour = const Color(0xFF1D1E33)});

  ...

class ReusableContainer {
  Color colour;
  ReusableContainer({Color colour}) : colour = colour ?? const Color(0xFF1D1E33);

  ...
}

答案 1 :(得分:0)

只需更改您的构造函数,即可:

ReusableContainer({this.colour});

ReusableContainer({this.colour = const Color(0xFF1D1E33)});