如何为颜色分配默认值?

问题描述 投票:0回答:2

如果未在使用小部件的位置分配任何值,我想为小部件分配默认颜色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
flutter dart
2个回答
0
投票

您可以使用命名参数的默认值(它可以为空)或可以使用null的运算符来设置属性(它不能为空)。

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

  ...

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

  ...
}

0
投票

只需从以下位置更改构造函数:

ReusableContainer({this.colour});

to

ReusableContainer({this.colour = const Color(0xFF1D1E33)});
© www.soinside.com 2019 - 2024. All rights reserved.