如何解决如何正确保存和使用我的模板[例如颜色]?
我目前在Flutter项目中保存设计模板(颜色,约束,尺寸...)的方式是通过在style_constants.dart
中创建一个名为:lib/theme/
的文件,例如,文件可以看起来像:
import 'package:flutter/material.dart';
const Color colorShade1 = Color(0xFFEFF0F2);
const Color colorShade2 = Color(0xFF777777);
const Color colorShade3 = Color(0xFF424242);
const Color colorShade4 = Color(0xFF4B4935);
const Color colorShade5 = Color(0xFF3D2916);
const Color colorShade6 = Color(0xFF1D1C0A);
const Color colorBackground = Color(0xFF101A24);
const Color colorPrimary1 = Color(0xFFCC9757);
const Color colorRed = Color(0xFFEB5757);
// TabBar
const double kTabIconHeight = 28;
// CTA
const double kCtaHeight = 52;
const double kCtaWidth = 358;
const Color colorCtaBackground = Colors.white;
const TextStyle ktsCta = TextStyle(color: colorRed,fontSize: 19,fontWeight: FontWeight.w700);
我的工作方式有效,但是这可能不是最佳方法。我在官方dart page上发现这样做最好:
class Color {
static const red = '#f00';
static const green = '#0f0';
static const blue = '#00f';
static const black = '#000';
static const white = '#fff';
}
我尝试将其合并,但是不成功。您能否在保存自己的设计(也称为CSS模板)方面向我展示最佳做法?
解决方法
我发现您实现Color
类的方式存在两个问题。首先是您的班级与错位的材料Color
的错别字相同,这可能会在将其添加到还导入了包material.dart
的文件中时引起冲突。第二个是个人风格,我不太喜欢使用HEX颜色格式,因为抖动Color
构造函数将int作为其参数。在我的项目中,我这样保存颜色:
class MyColors {
static const someRed = Color(0xFFFF6666);
static const someGreen = Color(0xFF24B356);
// etc...
}
从十六进制到整数的转换非常容易,您只需将#
替换为0xFF
。例如,颜色static const hexSomeBlue = "#8d91b8";
将变成static const someBlue = Color(0xFF8d91b8);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。