【问题标题】:Flutter default color valueFlutter 默认颜色值
【发布时间】:2021-08-02 04:19:23
【问题描述】:

如何在构造函数中正确设置它?前提是第一个字段的值可以设置为不同于默认值,并且第二个字段应始终使用 withAccent

【问题讨论】:

    标签: android flutter dart colors default-value


    【解决方案1】:

    您可以将您的类构造函数设为私有并创建一个工厂构造函数来实现您的自定义初始化逻辑,如下所示:

    class Foo {
      final Color sliderDefaultColor;
      final Color sliderActiveColor;
    
      Foo._({
        required this.sliderDefaultColor,
        required this.sliderActiveColor,
      });
    
      factory Foo(Color color) {
        return Foo._(
          sliderDefaultColor: color,
          sliderActiveColor: color.withRed(10),
        );
      }
    }
    

    然后你可以像这样实例化类:

    final foo = Foo(Colors.blueGrey);
    

    【讨论】:

    • 如果我需要接受颜色或设置 defColor.withAccent(10) 怎么办?之前只是没有传颜色,在应用颜色的时候检查了null,现在想切换到null-safety,不知道怎么正确
    • 例如:TestClass(Colors.green, Colors.red);默认 = Colors.green 活动 = Colors.red TestClass(Colors.green);默认 = Colors.green 活动 = default.withRed(10)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多