随机配色方案
创建一套连贯的 Material Design 主题是一件困难的事情。这个 Flutter 插件可以根据 Material Design 生成随机的颜色列表,同时遵守 WCAG 指南。
这样做的目的是让你(暂时)用 randomColorSchemeLight() 或 randomColorSchemeDark() 替换你的 ColorScheme()。每次运行、热刷新或热重启,你的应用程序都会呈现出不同的外观。主题会被打印在终端,你可以轻松地将喜欢的颜色复制粘贴回你的项目中。
交互式示例可以让你了解它的工作原理以及背后的原因。

用法
在您的 flutter 项目的 pubspec.yaml 文件中,添加以下依赖项
dependencies:
random_color_scheme: ^VERSION
在你的项目中,只需将 ColorScheme.dark(...) 替换为 RandomColorSchemeDark()。
如果你想要一个浅色主题,也有 RandomColorSchemeLight()。
import 'package:random_colorscheme/random_color_scheme.dart';
Theme(
data: ThemeData(
colorScheme: randomColorSchemeDark(),
),
child: MyApp(),
)
工作原理
这源于我的 Color Studio 项目。
我开始研究 Material Design 的亮色和暗色主题指南。
在提取了一些颜色(例如 Primary、Secondary 和 Owl Study)之后,我决定看看它们有多相似,在哪个范围内,以及它们如何协同工作。
然后,我使用了 HSLuv 和随机数生成器,以及我观察到的规则。最后的调整是在微调示例时完成的。
HSLuv 的优点在于,只有亮度属性会影响 WCAG 计算出的对比度,因此所有主题都保证能通过
最低的无障碍阈值。
函数列表
randomColorSchemeDark(seed: null | int)randomColorSchemeLight(seed: null | int)randomColorScheme(seed: null | int, isDark: bool)
Seed:一个整数,可以确保随机函数始终产生相同的输出(即相同的 ColorScheme)。
它是可选的。