我如何转换一个十六进制的颜色字符串像#b74093在扑动的颜色?
我想在Dart中使用HEX颜色代码。
我如何转换一个十六进制的颜色字符串像#b74093在扑动的颜色?
我想在Dart中使用HEX颜色代码。
当前回答
你可以用这个
Color getColorFromColorCode(String code){
return Color(int.parse(code.substring(1, 7), radix: 16) + 0xFF000000);
}
其他回答
供一般参考。有一种更简单的方法,使用supercharge图书馆。虽然您可以对所有提到的解决方案使用扩展方法,但您可以找到实用的用户库工具包。
"#ff00ff".toColor(); // Painless hex to color
"red".toColor(); // Supports all web color names
容易,对吧?
增压
还有另一种解决方案。如果您将颜色存储为普通的十六进制字符串,并且不想为其添加不透明度(前导“FF”):
将十六进制字符串转换为int 要将十六进制字符串转换为整数,请执行以下操作之一: var myInt = int。解析(hexString,基数:16); 或 var myInt = int.parse("0x$hexString"); 作为0x(或-0x)的前缀将使int。将默认值解析为基数16。 通过代码添加不透明度到你的颜色 Color = new Color(myInt).withOpacity(1.0);
如何在扑动中使用十六进制颜色代码#B74093
只需从十六进制颜色代码中删除#符号,并在color类中添加带有颜色代码的0xFF:
#b74093将在Flutter中变为Color(0xffb74093)
#B74093将在Flutter中变为Color(0xFFB74093)
ff或ff in Color(0xFFB74093)定义不透明度。
十六进制颜色的例子,所有不透明度类型在达特
最简单的方法是将其转换为整数。例如,#BCE6EB。你会添加0xFF,然后你会删除标签,使它:
0 xffbce6eb
然后让我们假设你要通过这样做来实现它:
写成backgroundColor:颜色(0 xffbce6eb)
如果你只能使用十六进制,那么我建议使用Hexcolor包。
使用hexcolor将十六进制颜色带入Dart hexcolorPlugin:
hexcolor: ^2.0.3
示例使用
import 'package:hexcolor/hexcolor.dart';
Container(
decoration: new BoxDecoration(
color: Hexcolor('#34cc89'),
),
child: Center(
child: Text(
'Running on: $_platformVersion\n',
style: TextStyle(color: Hexcolor("#f2f2f2")),
),
),
),