flutter - 在颤动中从父颜色生成自定义颜色阴影
问题描述
我需要找到一种更好的方法来从给定的自定义颜色生成阴影颜色以用于主题化。到目前为止,我找到了一种通过降低给定颜色的不透明度来做到这一点的方法,如下所示。所以我可以为这个函数强调颜色颜色和给定颜色的褪色。
import 'package:flutter/material.dart';
class AppColors {
Color accentColor;
Color fadedColor;
AppColors(this.accentColor, this.fadedColor);
}
AppColors getAppColors(String color) {
int budgetAccentcolor = int.parse('0xff' + color);
int budgetFadedColor = int.parse('0x26' + color);
return AppColors(Color(budgetAccentcolor), Color(budgetFadedColor));
}
但是因为我降低了颜色的不透明度,它显示了使用SliverAppBar
.
无论如何要获得Hex
颜色的褪色值吗?
解决方案
终于从这里找到了一条路。
Color lighten(Color color, [double amount = 0.49]) {
assert(amount >= 0 && amount <= 1);
final hsl = HSLColor.fromColor(color);
final hslLight = hsl.withLightness((hsl.lightness + amount).clamp(0.0, 1.0));
return hslLight.toColor();
}
Color hexToColor(String code) {
return Color(int.parse(code.substring(0, 6), radix: 16) + 0xFF000000);
}
我这样称呼这个功能。
backgroundColor: lighten(hexToColor("f98b5")),
推荐阅读
- xpath - PMD Xpath 检查存在关系表达式
- r - 链式 ifelse() 导致单元格中的“data.frame”值
- java - 在 Java 中的 XML 中的现有节点下添加新节点
- go - 将应用程序部署到 heroku 移植问题
- dictionary - Tesserect OCR 自定义字典
- python - 合并列无法正确显示
- audio - webm 实时输入到 HLS 实时输出
- javascript - Javascript获取具有相同标签名称的所有标签值
- javascript - 根据 React 组件中 api 的活动项目列表将项目设置为禁用或处于活动状态
- python - 如何上下文管理作为类中的属性的对象?