Flutter颜色类型转换插件color_type_converter的使用
Flutter颜色类型转换插件color_type_converter的使用
这个Dart包提供了一个工具类,用于将十六进制颜色代码和Color
对象转换为各种颜色类型。它支持转换为Color
、ColorSwatch
、HSVColor
、HSLColor
、MaterialColor
和MaterialAccentColor
。
特性
- 可以转换的类型包括
Color
、ColorSwatch
、HSVColor
、HSLColor
、MaterialColor
和MaterialAccentColor
。 - 任何类型都可以转换为其他任何类型。
开始使用
在你的pubspec.yaml
文件中添加这个包:
dependencies:
color_type_converter: ^1.0.5
然后运行以下命令来获取依赖:
$ flutter pub get
使用方法
在你的Dart文件中导入该包并使用hexToColor
方法:
import 'package:color_type_converter/color_type_converter.dart';
import 'package:flutter/material.dart';
void colorConverter() {
// 从十六进制字符串转换
final Color color = ColorConverter<Color>().convert('#FF6F00');
final ColorSwatch colorSwatch = ColorConverter<ColorSwatch>().convert('#FF6F00');
final HSVColor hsvColor = ColorConverter<HSVColor>().convert('#FF6F00');
final HSLColor hslColor = ColorConverter<HSLColor>().convert('#FF6F00');
final MaterialColor materialColor = ColorConverter<MaterialColor>().convert('#FF6F00');
final MaterialAccentColor materialAccentColor = ColorConverter<MaterialAccentColor>().convert('#FF6F00');
// 从Color转换
final Color color2 = ColorConverter<Color>().convert(Colors.redAccent);
final ColorSwatch colorSwatch2 = ColorConverter<ColorSwatch>().convert(Colors.redAccent);
final HSVColor hsvColor2 = ColorConverter<HSVColor>().convert(Colors.redAccent);
final HSLColor hslColor2 = ColorConverter<HSLColor>().convert(Colors.redAccent);
final MaterialColor materialColor2 = ColorConverter<MaterialColor>().convert(Colors.redAccent);
final MaterialAccentColor materialAccentColor2 = ColorConverter<MaterialAccentColor>().convert(Colors.redAccent);
// 从HSVColor转换 // 红色
final Color color3 = ColorConverter<Color>().convert(
const HSVColor.fromAHSV(1, 0, 1, 1),
);
final ColorSwatch colorSwatch3 = ColorConverter<ColorSwatch>().convert(
const HSVColor.fromAHSV(1, 0, 1, 1),
);
final HSVColor hsvColor3 = ColorConverter<HSVColor>().convert(
const HSVColor.fromAHSV(1, 0, 1, 1),
);
final HSLColor hslColor3 = ColorConverter<HSLColor>().convert(
const HSVColor.fromAHSV(1, 0, 1, 1),
);
final MaterialColor materialColor3 = ColorConverter<MaterialColor>().convert(
const HSVColor.fromAHSV(1, 0, 1, 1),
);
final MaterialAccentColor materialAccentColor3 = ColorConverter<MaterialAccentColor>().convert(
const HSVColor.fromAHSV(1, 0, 1, 1),
);
// 从HSLColor转换
final Color color4 = ColorConverter<Color>().convert(
const HSLColor.fromAHSL(1, 0, 1, 1),
);
final ColorSwatch colorSwatch4 = ColorConverter<ColorSwatch>().convert(
const HSLColor.fromAHSL(1, 0, 1, 1),
);
final HSVColor hsvColor4 = ColorConverter<HSVColor>().convert(
const HSLColor.fromAHSL(1, 0, 1, 1),
);
final HSLColor hslColor4 = ColorConverter<HSLColor>().convert(
const HSLColor.fromAHSL(1, 0, 1, 1),
);
final MaterialColor materialColor4 = ColorConverter<MaterialColor>().convert(
const HSLColor.fromAHSL(1, 0, 1, 1),
);
final MaterialAccentColor materialAccentColor4 = ColorConverter<MaterialAccentColor>().convert(
const HSLColor.fromAHSL(1, 0, 1, 1),
);
// 从MaterialColor转换
const matColor = MaterialColor(0xFFFF0000, {
50: Color(0xFFFFEBEE),
100: Color(0xFFFFCDD2),
200: Color(0xFFEF9A9A),
300: Color(0xFFE57373),
400: Color(0xFFEF5350),
500: Color(0xFFF44336),
600: Color(0xFFE53935),
700: Color(0xFFD32F2F),
800: Color(0xFFC62828),
900: Color(0xFFB71C1C),
});
final Color color5 = ColorConverter<Color>().convert(matColor);
final ColorSwatch colorSwatch5 = ColorConverter<ColorSwatch>().convert(matColor);
final HSVColor hsvColor5 = ColorConverter<HSVColor>().convert(matColor);
final HSLColor hslColor5 = ColorConverter<HSLColor>().convert(matColor);
final MaterialColor materialColor5 = ColorConverter<MaterialColor>().convert(matColor);
final MaterialAccentColor materialAccentColor5 = ColorConverter<MaterialAccentColor>().convert(matColor);
}
更多关于Flutter颜色类型转换插件color_type_converter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复