在 flutter 中使用颜色作为 "red" 而不是 Colors.red

Use color as "red" instead of Colors.red in flutter

这是参考对问题

的评论

我想为我的所有颜色值定义一个单独的文件 colors.dart

<data type> red = Colors.red (I am not sure of data tpye to be use here I mean String, Color or what)
<data type> cyan = hex code

然后直接使用名字为

TextStyle(
              color: red,
              fontSize: 24,
            ),

'red', 'green' 就像我们在 Android.

中所做的那样

我看了很多S/O的帖子,在大多数实现中,最后还是需要使用点运算符来访问创建的变量,这与使用Colors.red类似,那么目的没有解决使用像 'red'

这样的短名称

然后我看到@ChinLoong () 的评论。

ChinLoong 说的正是我的想法,但是我不确定如何正确使用这种方法。

因为我不能评论那里问(由于声望点),我在这里问。

此外,我相信即使使用这种枚举方法,我仍然必须使用点运算符访问颜色变量。即使我将创建一个函数来 return 颜色,同样,点运算符。

无论如何,我的整个刚性和决心是在使用颜色时避免使用点语法。只是红色或绿色。

请告诉我有什么办法。

谢谢。

你可以有一个文件 colors.dart 并且在那个文件中你可以定义没有任何 class

final Color red = Colors.red;

在这种情况下,您可以使用 'red' 而无需点运算符。

创建一个名为 colors.dart

的文件
import 'dart:ui';

const Color red = const Color(0xFFFF0000);
const Color green = const Color(0xFF00FF00);
const Color blue = const Color(0xFF0000FF);
const Color yellow = const Color(0xFFFFFF00);
const Color orange = const Color(0xFFFFA500);
const Color purple = const Color(0xFF800080);

导入colors.dart任何你喜欢的地方。

import 'package:your_app/utils/colors.dart';

color: red,

通过这种方式,您可以添加您喜欢在应用中使用的任意数量的自定义颜色。