Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何正确保存和使用我的模板[例如颜色]?_Flutter_Templates_Dart_Styles - Fatal编程技术网

Flutter 如何正确保存和使用我的模板[例如颜色]?

Flutter 如何正确保存和使用我的模板[例如颜色]?,flutter,templates,dart,styles,Flutter,Templates,Dart,Styles,我目前在颤振项目中保存设计模板(颜色、约束、大小…)的方法是在lib/theme/中创建一个名为:style\u constants.dart的文件,例如,该文件的外观如下: 导入“包装:颤振/材料.省道”; const Color colorShade1=颜色(0xFFEFF0F2); const Color colorShade2=颜色(0xFF777777); const Color colorShade3=颜色(0xFF4242); const Color colorShade4=颜色(

我目前在颤振项目中保存设计模板(颜色、约束、大小…)的方法是在
lib/theme/
中创建一个名为:
style\u constants.dart
的文件,例如,该文件的外观如下:

导入“包装:颤振/材料.省道”;
const Color colorShade1=颜色(0xFFEFF0F2);
const Color colorShade2=颜色(0xFF777777);
const Color colorShade3=颜色(0xFF4242);
const Color colorShade4=颜色(0xFF4B4935);
const Color colorShade5=颜色(0xFF3D2916);
const Color colorShade6=颜色(0xFF1D1C0A);
const Color colorBackground=颜色(0xFF101A24);
常量Color colorPrimary1=颜色(0xFFCC9757);
const Color colorRed=颜色(0xFFEB5757);
//塔巴
常数双kTabIconHeight=28;
//CTA
常数双kCtaHeight=52;
常数双kCtaWidth=358;
const Color colorCtaBackground=Colors.white;
const TextStyle ktsCta=TextStyle(颜色:colorRed,fontSize:19,fontWeight:fontWeight.w700);
我这样做是可行的,但是这很可能不是最好的方式。我在官方网站上发现,这样做更好:

类颜色{
静态常数red='#f00';
静态常数绿色='#0f0';
静态常数蓝色='#00f';
静态常数black='#000';
静态常数白色='#fff';
}

我试图将其合并,但不知何故没有起作用。你能告诉我保存你自己的设计即CSS模板的最佳实践吗?

我发现你实现
颜色
类的方法有两个问题。首先,您的类与flift中的material
Color
具有相同的打字错误,这可能会在将其添加到包
material.dart
也被导入的文件中时导致冲突。第二个更符合个人口味,我不太喜欢使用十六进制颜色格式,因为flatter
color
constructor将int作为其参数。在我的项目中,我保存的颜色如下:

class MyColors{
静态常数someRed=颜色(0xFFFF6666);
静态常数someGreen=颜色(0xFF24B356);
//等等。。。
}

从十六进制到int的转换非常简单,只需将
替换为
0xFF
。例如,颜色
静态常量hexSomeBlue=“#8d91b8”将变成
静态常量someBlue=Color(0xFF8d91b8)

你的意思是什么?你给你的班级命名为
Color
,这和来自flift的班级
Color
同名。啊,我明白了。。。谢谢,但我只是引用和复制了flutter文档,是他们建议这样做的。如果你想亲自查看:这正是我被tooI see弄糊涂的原因,正如他们在你链接的文档中所说的那样,你应该尽量避免名称冲突,要么给它一个更精确的名称,要么把它移到库中并用前缀导入。我当然不是专家,但我不认为这是他们的建议,尤其是在这种情况下。实际上是他们建议给班级命名颜色。在文档的其他部分,他们说“如果您担心名称冲突,请给它一个更精确的名称,或者将其移动到一个单独的库中,该库可以使用前缀导入。”因此,如果用户担心这一点,他们不建议这样做。。。