当前位置: 首页 > 知识库问答 >
问题:

颤振设置字符串变量的颜色[重复]

邵赞
2023-03-14

我有一个动态变量,它将由一些颜色启动

String bgColor = "#f8d547";

我想从这个变量设置这个颜色属性

decoration: BoxDecoration(
  color: bgColor,
),

我怎样才能做到这一点?非常感谢。

共有2个答案

葛宪
2023-03-14

重复我如何在Flutter中使用十六进制颜色字符串?

请去那里得到详细的答案,无论如何,这是你想要的一点。

您必须创建一个新函数,该函数可以创建为颜色的扩展:

extension HexColor on Color {
  /// String is in the format "aabbcc" or "ffaabbcc" with an optional leading "#".
  static Color fromHex(String hexString) {
    final buffer = StringBuffer();
    if (hexString.length == 6 || hexString.length == 7) buffer.write('ff');
    buffer.write(hexString.replaceFirst('#', ''));
    return Color(int.parse(buffer.toString(), radix: 16));
  }

  /// Prefixes a hash sign if [leadingHashSign] is set to `true` (default is `true`).
  String toHex({bool leadingHashSign = true}) => '${leadingHashSign ? '#' : ''}'
      '${alpha.toRadixString(16).padLeft(2, '0')}'
      '${red.toRadixString(16).padLeft(2, '0')}'
      '${green.toRadixString(16).padLeft(2, '0')}'
      '${blue.toRadixString(16).padLeft(2, '0')}';
}

要使用它:

final Color color = HexColor.fromHex('#aabbcc');
轩辕风华
2023-03-14

color:color(int.parse(bgColor.replaceAll('#','0x'));

 类似资料:
  • 我想制作这张我已经分成列的卡片(扩展小部件),我面临的问题是:我无法将颜色容器(右侧列的父)设置为全高,所以只有一部分显示彩色背景。 我所拥有的: > 我尝试了Flutter Inspector工具,并注意到容器及其子列没有得到完全的高度(即使在键入mainaxissize:mainaxissize.max之后) 代码:

  • 我正在将颜色转换为字符串。然后我将颜色转换为字符串。不幸的是,当我想把它转换回颜色时,操作失败了:

  • 我需要红色的状态栏和白色的前景为我的整个应用程序。 我用的是Flatter_statusbarcolor软件包。 到目前为止,我做了以下工作: 在pubsec中添加了该包。yaml 在我的主机上导入了这个包。dart文件 在MyApp类的中添加了以下代码行 结果: 状态栏的颜色是红色(正常工作)。 前景颜色为白色。但重启时变为黑色。在热重新加载时,变为白色。但重启时,又变为黑色。 以下是我的完整代

  • 我试图改变一个文本字段的下划线颜色时,它的非活动/不集中。我不确定在哪里进行此更改,输入装饰主题仅在选中时更改下划线颜色。我如何实现这一点? 我试图改变这种颜色文本字段为浅灰色时,它没有选择/失去焦点。

  • 我无法在尝试设置平台后修复颤振问题,问题如下所示: https://i.stack.imgur.com/uddfn.png

  • 自定颜色设置 对于大多数色彩管理工作流程,最好使用 Adobe Systems 已经测试过的预设颜色设置。只有在色彩管理知识很丰富并且对自己所做的更改非常有信心的时候,才建议您更改特定选项。 自定选项完成后,可以将它们保存为预设。保存颜色设置确保您可以再次使用它们并与其他用户或应用程序共享。 要将颜色设置保存为预设,请单击 “颜色设置”对话框中的“存储”。要确保应用程序在 “颜色设置”对话框中显示