问题描述
这是参考对问题 What's the best practice to keep all the constants 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
然后直接用name as
TextStyle(
color: red,fontSize: 24,),
'red'、'green',就像我们在 Android 中所做的那样。
我看了很多关于S/O的帖子,在大多数实现中,最后还是需要使用点号来访问创建的变量,类似于使用Colors.red,然后使用短名称的目的没有解决像“红色”
然后我看到了@ChinLoong (https://stackoverflow.com/a/64584504/12319976) 的这条评论。
ChinLoong 说的很清楚我的想法,但我不知道如何准确地使用这种方法。
此外,我相信即使使用这种枚举方法,我仍然必须使用点运算符访问颜色变量。即使我会创建一个函数来返回颜色,还是点运算符。
无论如何,我的整个刚性和决心是在使用颜色时避免使用点语法。只是红色或绿色。
请告诉我有没有办法。
谢谢。
解决方法
你可以有一个文件colors.dart,在那个文件中你可以定义而无需任何类
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,
通过这种方式,您可以添加您希望在应用中使用的任意数量的自定义颜色。