Flutter - 使用自定义十六进制颜色

Dan*_*ady 3 dart flutter

如何从 Flutter 中的十六进制值添加颜色?例如,我正在尝试以下操作:

Widget build(BuildContext context) {
  return Row(
    children: <Widget>[
      Expanded(
        child: Container(
          padding: EdgeInsets.only(left: 20.0),
          height: 100.0,
          decoration: BoxDecoration(
            color: Color.hex("#183451"),
          ),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.start,
            children: <Widget>[
              Image.asset('assets/main_image.png'),
              // More widgets here
            ],
          ),
        ),
      ),
    ],
  );
}
Run Code Online (Sandbox Code Playgroud)

但得到以下错误:

错误:无法将参数类型“color::Color”分配给参数类型“dart.ui::Color”

这是使用“颜色”包:https : //pub.dartlang.org/packages/color

如果我使用MaterialColor它,它将按预期工作:

color: Colors.blue
Run Code Online (Sandbox Code Playgroud)

我想我需要创建一个MaterialColor,但是这些需要一个整数值和色板。十六进制值是否需要从字符串转换为整数?如果可能的话,我想寻找一些代码示例如何实现这一点:)

提前致谢

hac*_*ksy 11

您实际上并不需要外部包来使用自定义颜色。

像这样使用它Color(0xFF183451),其中FF是透明度,00 是透明的,FF 是不透明的。