使用自定义名称重用自定义颜色

最白目*_*最白目 9 dart flutter

在 Android 中,我可以在我的colors.xml

<color name="my_custom_blue">#F7DC16</color>
Run Code Online (Sandbox Code Playgroud)

在 Flutter 中,重用颜色的唯一方法是在 Theme 中定义它们。但是我想用自定义名称定义我的自定义颜色,这样我就可以这样使用它:

color: Colors.myCustomBlue
Run Code Online (Sandbox Code Playgroud)

有谁知道如何实现这一目标?

Rao*_*che 11

我建议您在另一个文件中创建自己的自定义颜色:

class Colors {
  static const Color myCustomBlack = const Color(0x8A000000);
  static const Color white = const Color(0xFFFFFFFF);
}
Run Code Online (Sandbox Code Playgroud)

但是如果你想在你的项目中使用它们, 与 CupertinoColors 没有冲突,但与材料Colors,你应该将类名更改为我认为更好的 MyColors 之类的名称,或者你可以从材料库中隐藏 Colors 类。如果您想使用它们,只需导入 dart 文件即可。


Gün*_*uer 5

您可以使用

color: MyColors.myCustomBlue
Run Code Online (Sandbox Code Playgroud)

无法Colors使用自定义条目扩展静态成员。您可以在其中包含所有Colors条目,MyColors因此您不必使用多个名称。

您甚至可以命名自己的 set Colors,您只需要注意不要同时导入两者(IDE 会警告冲突)

import 'package:my_package/colors.dart';
import 'package:flutter/material.dart' hide Colors;
Run Code Online (Sandbox Code Playgroud)