我如何转换一个十六进制的颜色字符串像#b74093在扑动的颜色?
我想在Dart中使用HEX颜色代码。
我如何转换一个十六进制的颜色字符串像#b74093在扑动的颜色?
我想在Dart中使用HEX颜色代码。
当前回答
你可以用这个
Color getColorFromColorCode(String code){
return Color(int.parse(code.substring(1, 7), radix: 16) + 0xFF000000);
}
其他回答
//调用这一行来设置颜色 颜色:HexColor (HexColor.Primarycolor)
我已经创建了一个类HexColor和玷污所有的颜色在这个类。这是100%工作的代码
class HexColor extends Color {
static int _getColorFromHex(String hexColor) {
hexColor = hexColor.toUpperCase().replaceAll("#", "");
if (hexColor.length == 6) {
hexColor = "FF" + hexColor;
}
return int.parse(hexColor, radix: 16);
}
static var Primarycolor="FF3E3F";
static var Accentcolor="b74093";
static var white="b74093";
static var black="b74093";
HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
}
如果你迫切需要一个十六进制的颜色在你的应用程序,有一个简单的步骤,你可以遵循:
从这里简单地将您的十六进制颜色转换为RGB格式。 获取RGB值。 在Flutter中,您有一个简单的选项来使用RGB颜色: Color.fromRGBO(r_value, g_value, b_value,不透明度)将为您做这项工作。 继续调整O_value以获得您想要的颜色。
使用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")),
),
),
),
不需要使用函数。
例如,使用colorcode为容器赋予颜色:
Container
(
color:Color(0xff000000)
)
这里的0xff是格式后面跟着颜色代码
还有另一种解决方案。如果您将颜色存储为普通的十六进制字符串,并且不想为其添加不透明度(前导“FF”):
将十六进制字符串转换为int 要将十六进制字符串转换为整数,请执行以下操作之一: var myInt = int。解析(hexString,基数:16); 或 var myInt = int.parse("0x$hexString"); 作为0x(或-0x)的前缀将使int。将默认值解析为基数16。 通过代码添加不透明度到你的颜色 Color = new Color(myInt).withOpacity(1.0);