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

如何将颤振颜色转换为字符串并返回到颜色

田永春
2023-03-14

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

   Color pickerColor = new Color(0xff443a49);
    String testingColorString = pickerColor.toString();

   Color newColor;

   newColor = testingColorString as Color;

共有1个答案

丁豪
2023-03-14

在Dart中,as运算符不允许更改对象的实际结构,它只允许提供一个提示,表明对象可能具有更特定的类型。例如,如果您有一个狗和一个动物类,您可以使用as来指定您的动物实际上是一只狗(只要对象实际上是一只狗)。

class Animal {}
class Dog extends Animal {}

Animal animal = new Dog();
Dog bob = animal as Dog; // works, since animal is actually a dog
Animal animal2 = new Animal();
Dog bob2 = animal2 as Dog; // fails, since animal2 is actually an Animal

现在,在您提供的示例中,toString实际上只是创建当前color值的字符串表示形式。由于该对象是一个字符串,所以不能用作为将其改回颜色。相反,您可以将字符串解析为值并构造新的color对象。

Color color = new Color(0x12345678);
String colorString = color.toString(); // Color(0x12345678)
String valueString = colorString.split('(0x')[1].split(')')[0]; // kind of hacky..
int value = int.parse(valueString, radix: 16);
Color otherColor = new Color(value);
 类似资料:
  • 我想制作这张我已经分成列的卡片(扩展小部件),我面临的问题是:我无法将颜色容器(右侧列的父)设置为全高,所以只有一部分显示彩色背景。 我所拥有的: > 我尝试了Flutter Inspector工具,并注意到容器及其子列没有得到完全的高度(即使在键入mainaxissize:mainaxissize.max之后) 代码:

  • 问题内容: 在.NET中,您可以实现以下目标: 在Java中有没有一种方法可以不必诉诸反射? PS:我不是在寻找其他存储/加载颜色的方法。我只想知道在哪里有可能做到这一点。 问题答案: 使用反射访问类的静态成员。

  • 我有一个动态变量,它将由一些颜色启动 我想从这个变量设置这个颜色属性 我怎样才能做到这一点?非常感谢。

  • 问题内容: 为了转换字符串,我将其转换为字节,如下所示: 为了转换,我做了:显然不起作用。我将如何转换回去? 问题答案: 您原来的城市名称中有哪些字符?尝试这样的UTF-8版本:

  • 我想让用户使用ColorPicker选择颜色,然后使用该颜色更改按钮的颜色。JavaFX 在println中,它将给出诸如0xe6e64dff,0xccffccff... 所以我假设我必须将颜色值转换为字符串才能使用它?或者我该怎么做?如何使选择的颜色在setStyle行中可用?

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