Flutter:如何在我的 Style 类中创建构造函数? [复制]

Posted

技术标签:

【中文标题】Flutter:如何在我的 Style 类中创建构造函数? [复制]【英文标题】:Flutter : How to create constructor in my Style class? [duplicate] 【发布时间】:2021-07-11 23:39:38 【问题描述】:

我在 Flutter 项目中创建了一个 Style 类。所以我将使用这个 Style 类来调用我想要插入到 main.dart 中的 TextStyle。我还在 Style 类中创建了一个构造函数来获取 Style 类调用时的颜色。我想用 Style(Colors.black).header 调用 main.dart 中的 Style 类。但是在我尝试创建构造函数时出现错误:

我需要你的帮助来解决这个错误,非常感谢你:)

【问题讨论】:

class Style Color styleColor; Style(this.styleColor); final TextStyle header = TextStyle( color: Colors.white, fontSize: 24, fontFamily: "Poppins", fontWeight: FontWeight.w700, ); 【参考方案1】:

您不能从另一个实例的初始化程序访问其他实例成员styleColor。为了解决这个问题,您需要以某种方式延迟 header 的初始化,这可以通过使用初始化列表或将 header 设为 getter 来完成。

使用初始化列表:

class Style 
  Color styleColor;
  
  Style(this.styleColor) : 
    header = TextStyle(
      color: styleColor,
      fontSize: 24,
      fontFamily: "Poppins",
      fontWeight: FontWeight.w700,
    ),
    title1 = TextStyle(
      color: styleColor,
      fontSize: 24,
      fontFamily: "Poppins",
      fontWeight: FontWeight.w700,
    );
  
  final TextStyle header;
  final TextStyle title1;

使header 成为吸气剂:

class Style 
  Color styleColor;
  
  Style(this.styleColor);
  
  TextStyle get header => TextStyle(
    color: styleColor,
    fontSize: 24,
    fontFamily: "Poppins",
    fontWeight: FontWeight.w700,
  );

  TextStyle get title1 => TextStyle(
    color: styleColor,
    fontSize: 24,
    fontFamily: "Poppins",
    fontWeight: FontWeight.w700,
  );

【讨论】:

哇,谢谢克里斯托弗!但是,我怎么能想在 Style 类中添加另一种样式。比如我想在Style类中添加title1? @BillRei 只需在初始化列表中添加另一个条目或添加一个新的 getter。我在答案中添加了示例。 哦,是的,非常感谢您的回答。我很高兴了解这个问题:)

以上是关于Flutter:如何在我的 Style 类中创建构造函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中创建网络图像列表

有没有办法使用android studio在我的flutter项目中创建一个Podfile?

Flutter oAuth:如何开始使用OAuth和Stripe连接

如何使用 CBV 在我的所有 Django 模板中创建侧边栏?

如果语句在我的 Dart Flutter 代码中被注册为变量?我该如何改变这个?

Java Swing 如何在我的自定义 ColorChooserPanel 中创建颜色样本?