使用“.withOpacity”的 Flutter 导致 "the field is initialized with a non constant value"

Flutter using ".withOpacity" leads to "the field is initialized with a non constant value"

我有自己的 class 应用程序颜色:

import 'package:flutter/material.dart';

@immutable
class AppColors {
  final objectRow=const Color(0xFFFFFFFF).withOpacity(0.5);

  const AppColors();

}

如果我不使用 .withOpacity,构造函数可以是 const,但如果我使用它,我必须删除 const。我不明白为什么...请向我解释为什么在编译时无法知道不透明度

在上面的代码中,const Color(0xFFFFFFFF) 是一个常量,但是 withOpacity(0.5) 在运行时创建了一个具有不同不透明度的新 Color 值。

您不需要调用 withOpacity 来调整颜色的不透明度,因为颜色中的前两个十六进制数字已经引用了不透明度。您可以通过调整这些数字来获得所需的结果 const Color(0x80FFFFFF).